コード例 #1
0
        public static void CreateNewGraph(string path)
        {
            vFSMBehaviour curGraph = ScriptableObject.CreateInstance <vFSMBehaviour>();

            if (curGraph != null)
            {
                AssetDatabase.CreateAsset(curGraph, path);
                AssetDatabase.SaveAssets();
                AssetDatabase.Refresh();
                Selection.activeObject = curGraph;
                var entryNode = CreateNode <vFSMState>("Entry", curGraph);
                entryNode.resetCurrentDestination = false;
                entryNode.parentGraph             = curGraph;
                entryNode.useDecisions            = false;
                entryNode.useActions      = false;
                entryNode.canEditName     = false;
                entryNode.canRemove       = false;
                entryNode.canTranstTo     = false;
                entryNode.canEditColor    = false;
                entryNode.canSetAsDefault = false;
                entryNode.description     = "This State Run Just in Start\n to init first state";
                entryNode.nodeColor       = Color.green;
                var anyState = CreateNode <vFSMState>("AnyState", curGraph);
                anyState.resetCurrentDestination = false;
                anyState.useDecisions            = true;
                anyState.useActions      = false;
                anyState.canEditName     = false;
                anyState.canRemove       = false;
                anyState.canTranstTo     = false;
                anyState.canEditColor    = false;
                anyState.canSetAsDefault = false;
                anyState.description     = "This State Run after current state";
                anyState.nodeColor       = Color.cyan;
                anyState.nodeRect.y     += 100;
                anyState.parentGraph     = curGraph;
                curGraph.states.Add(entryNode);
                curGraph.states.Add(anyState);
                curGraph.InitGraph();
                vFSMNodeEditorWindow.InitEditorWindow(curGraph);
            }
            else
            {
                EditorUtility.DisplayDialog("Node Message", "Unable to create new graph, please see your friendly programmer!", "OK");
            }
        }