/// <summary>
 /// Define the dialog this interpreter will interpret when you will use the <see cref="InterpretNextNode"/>
 /// function. It then loads the dialog in order to be able to read it.
 /// </summary>
 /// <param name="dialog"></param>
 public void SetWireDialog(WireDialog dialog)
 {
     Dialog = dialog;
     Dialog.Load();
     atBeginning = true;
     EndOfDialog = false;
 }
Exemple #2
0
        // Parameter is never used -> Unity parameters, even useless, must be there
        public static bool OnOpenAsset(int instanceID, int line)
        {
            // DO NOT OPEN ANYTHING IF PLAYING, COMPILING OR ABOUT TO PLAY
            if (EditorApplication.isPlaying || EditorApplication.isCompiling || EditorApplication.isPlayingOrWillChangePlaymode)
            {
                return(false);
            }
            WireDialog clickedDialog = Selection.activeObject as WireDialog;

            if (clickedDialog != null)
            {
                if (Instance != null)
                {
                    EditorUtility.DisplayDialog("Error", "You can have only one DialogEditor at a time. Please close all DialogEditors before editing this dialog.", "Ok");
                    return(false);
                }
                CreateWindow();
                Instance.LoadDialog(clickedDialog);
                return(true); // Catch open file
            }
            return(false);    // Let unity open the file
        }
Exemple #3
0
        public void LoadDialog(WireDialog dialog)
        {
            Debug.Log("Loading a new dialog...");

            try
            {
                GraphEditor.NodeDisplayers.Clear(); // Clear the displayer UI
            }
            catch (Exception)
            {
                Debug.Log("An error occurred. Please reload the Dialog Editor. If this bug always happens, please contact me.");
                Close();
            }

            if (!dialog.Initialized)
            {
                EditingDialog = dialog; // Needed to create the displayer
                DialogBeginningNodeDisplayer beginningDisplayer = DialogBeginningNodeDisplayer.CreateDialogBeginningDisplayer(new Vector2(100, 150));
                DialogBeginningWireNode      beginningNode      = beginningDisplayer.GetRenderedNodeAs <DialogBeginningWireNode>();
                dialog.Initialize(ref beginningNode);
            }

            dialog.Load();
            EditingDialog = dialog; // Set the new dialog to edit

            foreach (WireNode node in dialog.NodesDictionary.Values)
            {
                if (node is EqualityWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as EqualityWireNode).CreateDisplayer());
                }
                else if (node is GreaterWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as GreaterWireNode).CreateDisplayer());
                }
                else if (node is InequalityWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as InequalityWireNode).CreateDisplayer());
                }
                else if (node is LesserWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as LesserWireNode).CreateDisplayer());
                }
                else if (node is ConstantWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as ConstantWireNode).CreateDisplayer());
                }
                else if (node is SayReplyWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as SayReplyWireNode).CreateDisplayer());
                }
                else if (node is BranchWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as BranchWireNode).CreateDisplayer());
                }
                else if (node is SetAnimatorVariableWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as SetAnimatorVariableWireNode).CreateDisplayer());
                }
                else if (node is GetAnimatorVariableWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as GetAnimatorVariableWireNode).CreateDisplayer());
                }
                else if (node is ChooseReplyWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as ChooseReplyWireNode).CreateDisplayer());
                }
                else if (node is ReunionWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as ReunionWireNode).CreateDisplayer());
                }
                else if (node is GetVariableWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as GetVariableWireNode).CreateDisplayer());
                }
                else if (node is SetVariableValWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as SetVariableValWireNode).CreateDisplayer());
                }
                else if (node is DialogBeginningWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as DialogBeginningWireNode).CreateDisplayer());
                }
                else if (node is TriggerScriptWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as TriggerScriptWireNode).CreateDisplayer());
                }
                else if (node is SetTriggerParamValueWireNode)
                {
                    GraphEditor.NodeDisplayers.Add((node as SetTriggerParamValueWireNode).CreateDisplayer());
                }
            }
            Debug.Log("Loaded");
        }
 public BranchWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
 public TriggerScriptWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
 public GetVariableWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
Exemple #7
0
 public ConstantWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
Exemple #8
0
 public GreaterWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
Exemple #9
0
 public SetTriggerParamValueWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
Exemple #10
0
 public ReunionWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
Exemple #11
0
 protected ExecutionWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
Exemple #12
0
 public SetVariableValWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
Exemple #13
0
 public DialogBeginningWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
     Inputs.Clear();
 }
 public LesserWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
Exemple #15
0
 public SetAnimatorVariableWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
Exemple #16
0
 protected ComparationWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
 public InequalityWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
 public ChooseReplyWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }
 public SayReplyWireNode(WireDialog associatedDialog) : base(associatedDialog)
 {
 }