示例#1
0
        private void LoadData()
        {
            if (Target == null)
            {
                return;
            }

            AdvancedStateMachineEditorData asset = AssetDatabase.LoadAssetAtPath <AdvancedStateMachineEditorData>(PATH + Target.transform.root.name + ".asset");

            if (asset == null)
            {
                return;
            }

            serializedObject.Update();

            asset.Load(editorNodes);
            workView.zoomScale        = asset.zoomscale;
            workView.zoomCoordsOrigin = asset.zoomCoordsOrigin;

            serializedObject.ApplyModifiedProperties();
        }
示例#2
0
        public void SaveData()
        {
            if (editorNodes == null || editorNodes.Count <= 0 || Target == null)
            {
                return;
            }

            serializedObject.Update();


            DirectoryInfo info = new DirectoryInfo(PATH);

            if (!info.Exists)
            {
                info.Create();
            }

            AdvancedStateMachineEditorData asset = AssetDatabase.LoadAssetAtPath <AdvancedStateMachineEditorData>(PATH + Target.transform.root.name + ".asset");

            if (asset == null)
            {
                asset = ScriptableObject.CreateInstance <AdvancedStateMachineEditorData>();
                AssetDatabase.CreateAsset(asset, PATH + Target.transform.root.name + ".asset");
            }

            asset.Save(editorNodes);
            asset.zoomscale        = workView.zoomScale;
            asset.zoomCoordsOrigin = workView.zoomCoordsOrigin;

            serializedObject.ApplyModifiedProperties();

            EditorUtility.SetDirty(asset);

            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }