Example #1
0
    public void Save(string filename, Type nodeEditorType, bool autosave)
    {
        if (!autosave)
        {
            this.filename = filename;
        }
        this.nodeEditorType = nodeEditorType.ToString();

        AssetManagement.CreateOrOverwriteAsset(filename, this, autosave);
    }
        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);
                }
            }
        }