Beispiel #1
0
        public override void OnInspectorGUI()
        {
            AITreeAsset asset = target as AITreeAsset;

            GUILayout.Label(asset.ToString());
            GUILayout.Label(asset.root?.ToString());
            if (GUILayout.Button("Open"))
            {
                NodeEditor.OpenFile(asset.sourceFileName);
            }
        }
        protected override void OnSave(string filename)
        {
            string filenameWithoutExtension = Path.GetFileNameWithoutExtension(filename);
            string dirName = Path.GetDirectoryName(filename);

            foreach (var node in save.Nodes)
            {
                if (node.data is AITreeDefinition def)
                {
                    AITreeNode  treeNode    = ConstructorTreeFromDef(node);
                    string      treePath    = $"{dirName}/{filenameWithoutExtension}.{def.name}.asset";
                    AITreeAsset aITreeAsset = CreateInstance <AITreeAsset>();
                    aITreeAsset.root           = treeNode;
                    aITreeAsset.sourceFileName = filename;
                    aITreeAsset.definition     = def;

                    AssetManagement.CreateOrOverwriteAsset(treePath, aITreeAsset);
                }
            }
        }
Beispiel #3
0
 public static AITreeAsset DrawAITreeAssetEditor(AITreeAsset value, string label)
 {
     return(EditorGUILayout.ObjectField(label, value, typeof(AITreeAsset), false) as AITreeAsset);
 }