Improving Conditions: A Property Editor

I tracked the slow down to when a Predicate was selected, not just added. So if I chose a predicate type other than ‘Select’ then Unity would reload all the resources to build the lists. Here is my refactored BuildQuestList and BuildInventoryItemsList methods, where I have removed 'Resources.LoadAll and it seems to have made the pause go away:

private void BuildQuestList()
    {
        if (quests != null) return;
        quests = AssetDatabase.FindAssets("t:Quest")
            .Select(guid => AssetDatabase.LoadAssetAtPath<Quest>(AssetDatabase.GUIDToAssetPath(guid)))
            .ToDictionary(quest => quest.name, quest => quest);
    }

    private void BuildInventoryItemsList()
    {
        if (items != null) return;
        items = AssetDatabase.FindAssets("t:InventoryItem")
            .Select(guid => AssetDatabase.LoadAssetAtPath<InventoryItem>(AssetDatabase.GUIDToAssetPath(guid)))
            .ToDictionary(item => item.GetItemID(), item => item);
    }