/// <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; }
// 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 }
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) { }
public ConstantWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
public GreaterWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
public SetTriggerParamValueWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
public ReunionWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
protected ExecutionWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
public SetVariableValWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
public DialogBeginningWireNode(WireDialog associatedDialog) : base(associatedDialog) { Inputs.Clear(); }
public LesserWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
public SetAnimatorVariableWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
protected ComparationWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
public InequalityWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
public ChooseReplyWireNode(WireDialog associatedDialog) : base(associatedDialog) { }
public SayReplyWireNode(WireDialog associatedDialog) : base(associatedDialog) { }