public static NodeCanvas LoadSceneNodeCanvas(string saveName, bool createWorkingCopy) { if (string.IsNullOrEmpty(saveName)) { Debug.LogError("Cannot load Canvas from scene: No save name specified!"); return(null); } NodeCanvasSceneSave sceneSave = FindSceneSave(saveName); if (sceneSave == null) { return(null); } NodeCanvas savedCanvas = sceneSave.savedNodeCanvas; savedCanvas.livesInScene = true; ProcessCanvas(ref savedCanvas, createWorkingCopy); #if UNITY_EDITOR UnityEditor.EditorUtility.SetDirty(sceneSaveHolder); #endif return(savedCanvas); }
public static void SaveSceneNodeCanvas(string saveName, ref NodeCanvas nodeCanvas, bool createWorkingCopy) { if (string.IsNullOrEmpty(saveName)) { Debug.LogError("Cannot save Canvas to scene: No save name specified!"); return; } if (!nodeCanvas.livesInScene #if UNITY_EDITOR || UnityEditor.AssetDatabase.Contains(nodeCanvas) #endif ) { nodeCanvas = CreateWorkingCopy(nodeCanvas, true); } else { nodeCanvas.Validate(); } nodeCanvas.livesInScene = true; nodeCanvas.name = saveName; #if UNITY_EDITOR nodeCanvas.BeforeSavingCanvas(); #endif NodeCanvas savedCanvas = nodeCanvas; ProcessCanvas(ref savedCanvas, createWorkingCopy); NodeCanvasSceneSave sceneSave = FindSceneSave(saveName); if (sceneSave == null) { sceneSave = sceneSaveHolder.AddComponent <NodeCanvasSceneSave>(); } sceneSave.savedNodeCanvas = savedCanvas; #if UNITY_EDITOR UnityEditor.EditorUtility.SetDirty(sceneSaveHolder); #endif }
public void Awake() { if (canvas == null) { NodeCanvasSceneSave savedInScene = GameObject.FindObjectOfType <NodeCanvasSceneSave> (); if (savedInScene != null) { canvas = savedInScene.savedNodeCanvas as NarrativeCanvas; } } if (canvas == null) { return; } StartActionNode startNode = canvas.GetStartNode(); /*foreach (NarrativeCanvas nodeCanvas in Resources.LoadAll<NarrativeCanvas>("Saves/")) * { * * }*/ }