public void NewCanvas() { if (currentCanvas != null) { uNodeEditorSaveManager.Flush(); // @To do ask for confirmation to clear the current canvas // Ask for save (?) } currentCanvas = ScriptableObject.CreateInstance <uCanvas>(); currentCanvas.Init("NewCancas"); currentCanvas = uNodeEditorSaveManager.SaveCanvasState(currentCanvas); }
public static uCanvas CreateWorkingCopy(uCanvas canvas) { uCanvas ret = ScriptableObject.CreateInstance <uCanvas>(); ret.Init(canvas.Name); // Copy each node foreach (uNode n in canvas.Nodes) { uNode copy = n.GetCopy(); ret.Nodes.Add(copy); } // Restore hirearchy ret.SetParentFromCopy(); return(ret); }