From 22273213986052c9464a852c7240b106bc22bebb Mon Sep 17 00:00:00 2001 From: yum Date: Fri, 2 Jan 2026 03:17:37 -0800 Subject: Fold: add graph persistence --- Scripts/Fold/Editor/FoldGraph.cs | 7 +++++++ Scripts/Fold/Editor/FoldWindow.cs | 17 +++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 Scripts/Fold/Editor/FoldGraph.cs (limited to 'Scripts/Fold/Editor') diff --git a/Scripts/Fold/Editor/FoldGraph.cs b/Scripts/Fold/Editor/FoldGraph.cs new file mode 100644 index 0000000..7029fd7 --- /dev/null +++ b/Scripts/Fold/Editor/FoldGraph.cs @@ -0,0 +1,7 @@ +using UnityEngine; +using GraphProcessor; + +[System.Serializable] +public class FoldGraph : BaseGraph +{ +} diff --git a/Scripts/Fold/Editor/FoldWindow.cs b/Scripts/Fold/Editor/FoldWindow.cs index 0203db1..69d7066 100644 --- a/Scripts/Fold/Editor/FoldWindow.cs +++ b/Scripts/Fold/Editor/FoldWindow.cs @@ -4,16 +4,22 @@ using GraphProcessor; public class FoldWindow : BaseGraphWindow { - BaseGraph tmpGraph; + const string DefaultGraphPath = "Assets/FoldGraph.asset"; [MenuItem("Tools/yum_food/Fold")] public static BaseGraphWindow Open() { - var graphWindow = CreateWindow(); + var graphWindow = GetWindow(); - graphWindow.tmpGraph = ScriptableObject.CreateInstance(); - graphWindow.tmpGraph.hideFlags = HideFlags.HideAndDontSave; - graphWindow.InitializeGraph(graphWindow.tmpGraph); + var graph = AssetDatabase.LoadAssetAtPath(DefaultGraphPath); + if (graph == null) + { + graph = ScriptableObject.CreateInstance(); + AssetDatabase.CreateAsset(graph, DefaultGraphPath); + AssetDatabase.SaveAssets(); + } + + graphWindow.InitializeGraph(graph); graphWindow.Show(); return graphWindow; @@ -22,7 +28,6 @@ public class FoldWindow : BaseGraphWindow protected override void OnDestroy() { graphView?.Dispose(); - DestroyImmediate(tmpGraph); } protected override void InitializeWindow(BaseGraph graph) -- cgit v1.2.3