Ejemplo n.º 1
0
    public static void SaveActionsAsSet(List <UtilityAIAction> actionsToSave, GameObject invoker)
    {
        UtilityAIActionSet actionSet = ScriptableObject.CreateInstance <UtilityAIActionSet>();

        actionSet.actions = actionsToSave;
        actionSet.inheritingGameObject = invoker;
        invoker.GetComponent <UtilityAIAgent>().actionSet = actionSet;
        AssetDatabase.CreateAsset(actionSet, AssetDatabase.GenerateUniqueAssetPath("Assets/" + invoker.name + ".asset"));
    }
    public void OnEnable()
    {
        utilityAIAgent = (UtilityAIActionSet)target;
        rootElement    = new VisualElement();

        VisualTreeAsset visualTree = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>("Assets/UtilityAI/Scripts/Editor/Utility AI Action Set Editor/UtilityAIActionSetEditor.uxml");

        visualTree.CloneTree(rootElement);

        StyleSheet stylesheet = AssetDatabase.LoadAssetAtPath <StyleSheet>("Assets/UtilityAI/Scripts/Editor/Utility AI Action Set Editor/UtilityAIActionSetEditor.uss");

        rootElement.styleSheets.Add(stylesheet);
    }
Ejemplo n.º 3
0
 public void MakeActionsSetUnique()
 {
     if (actionSet != null)
     {
         List <UtilityAIAction> sharedActions = actionSet.actions;
         List <UtilityAIAction> uniqueActions = new List <UtilityAIAction>();
         foreach (UtilityAIAction sharedAction in sharedActions)
         {
             uniqueActions.Add(new UtilityAIAction(sharedAction));
         }
         actions   = uniqueActions;
         actionSet = null;
     }
 }
Ejemplo n.º 4
0
 public void SaveActionSet()
 {
     UtilityAIActionSet.SaveActionsAsSet(utilityAIAgent.actions, utilityAIAgent.gameObject);
     CreateInspectorGUI();
 }