コード例 #1
0
        public NodeManager Clone()
        {
            NodeManager clone = ScriptableObject.CreateInstance <NodeManager>();

            clone.Init();
            clone.nodeID = nodeID;
            foreach (BehaviourTree.Node node in nodes)
            {
                clone.nodes.Add(NodeManager.Clone <BehaviourTree.Node>(node));
            }

            foreach (BehaviourTree.Node node in clone.nodes)
            {
                if (null != node.parent)
                {
                    node.parent = clone.FindNode(node.parent.id);
                }

                for (int i = 0; i < node.children.Count; i++)
                {
                    BehaviourTree.Node child = node.children[i];
                    node.children[i] = clone.FindNode(child.id);
                }
            }
            return(clone);
        }
コード例 #2
0
        static void ShowEditor()
        {
            window              = EditorWindow.GetWindow <AIEditorWindow>();
            window.minSize      = new Vector2(800, 600);
            window.titleContent = new GUIContent(windowTitle);

            manager = ScriptableObject.CreateInstance <NodeManager>();
            manager.Init();
        }