void PlaytestFrom_Internal(string startPassageName, bool reset = true, int onlyFromThisNodeID = -1)
        {
            if (reset)
            {
                MerinoEditorWindow.errorLog.Clear();
                dialogue.Stop();
                dialogue.UnloadAll();
                varStorage.ResetToDefaults();

                try
                {
                    var program = MerinoCore.SaveAllNodesAsString(onlyFromThisNodeID);
                    if (!string.IsNullOrEmpty(program))
                    {
                        string filename = MerinoData.CurrentFiles.Count > 1 ? "<input>" : MerinoData.CurrentFiles[0].name;
                        if (onlyFromThisNodeID > 0 && MerinoData.GetNode(onlyFromThisNodeID).leafType == MerinoTreeElement.LeafType.File)
                        {
                            filename = MerinoData.GetNode(onlyFromThisNodeID).name;
                        }
                        dialogue.LoadString(program, filename);
                    }
                }
                catch (Exception ex)
                {
                    validDialogue = false;
                    PlaytestErrorLog(ex.Message);
                    return;
                }
            }

            validDialogue = true;
            this.StopAllCoroutines();
            this.StartCoroutine(RunDialogue(startPassageName));
        }
Ejemplo n.º 2
0
        void PlaytestFrom_Internal(string startPassageName, bool reset = true)
        {
            if (reset)
            {
                MerinoEditorWindow.errorLog.Clear();
                dialogue.Stop();
                dialogue.UnloadAll();
                varStorage.ResetToDefaults();

                try
                {
                    var program = MerinoCore.SaveAllNodesAsString();
                    if (!string.IsNullOrEmpty(program))
                    {
                        dialogue.LoadString(program);
                    }
                }
                catch (Exception ex)
                {
                    validDialogue = false;
                    PlaytestErrorLog(ex.Message);
                    return;
                }
            }

            validDialogue = true;
            this.StopAllCoroutines();
            this.StartCoroutine(RunDialogue(startPassageName));
        }
Ejemplo n.º 3
0
 protected override void RenameEnded(RenameEndedArgs args)
 {
     // Set the backend name and reload the tree to reflect the new model
     if (args.acceptedRename)
     {
         var element = treeModel.Find(args.itemID);
         element.name = MerinoCore.CleanNodeTitle(args.newName);                 // v0.6, clean up name (only node titles can be edited)
         Reload();
     }
 }