Ejemplo n.º 1
0
        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
        }
Ejemplo n.º 3
0
            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/"))
                 *      {
                 *
                 *      }*/
            }