public static ReunionNodeDisplayer CreateReunionNodeDisplayer(Vector2 position) { ReunionWireNode node = new ReunionWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Reunion" }; DialogEditor.InitializeNode(ref node); node.Inputs[0].PinName = "Input 1"; node.AddInput(new InputWirePin(node, DialogEditor.Instance.EditingDialog) { PinName = "Input 2", DataType = WDEngine.ActivityStream }); ReunionNodeDisplayer nodeRenderer = new ReunionNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 220, 150) }; Debug.Log("Created a REUNION NODE DISPLAYER."); return(nodeRenderer); }
public override void OnInspectorGUI() { Dialog dialog = (Dialog)target; if (eUtils.isPrefab(dialog)) { EditorGUILayout.LabelField("---Для редактирования вытащите диалог на сцену!---"); } else { if (GUILayout.Button("Edit")) { if (dialog != null) { if (DialogEditor.editor == null) { DialogEditor.ShowEditor(); } DialogEditor.dialog = dialog; DialogEditor.editor.LoadDialog(); } } } base.OnInspectorGUI(); GUILayout.Space(10); eUtils.DrawQuestStateList(dialog.dialogStates, dialog.transform, ref showDialogStates, "Dialog States"); }
public static void ShowDialogEditor(Object target) { DialogEditor dialogEditor = GetWindow <DialogEditor>(); dialogEditor.dialog = target as Dialog; dialogEditor.SetDialog(target as Dialog); }
private void GUIController_OnZoomToFile(ZoomToFileEventArgs evArgs) { if (evArgs.IsDebugExecutionPoint) { RemoveExecutionPointFromAllScripts(); } Dialog dialog = GetDialog(evArgs.FileName); if (dialog != null) { DialogEditor dialogEditor = ShowPaneForDialog(dialog); // has dialogEditor has already taken the area available? if (dialogEditor.Parent.ClientSize == dialogEditor.Size) { // the Dialog Editor be already on screen! dialogEditor.GoToScriptLine(evArgs); } else { // GoToScriptLine uses the size of scintilla control to calculate what lines are visibile and scroll accordingly // since this is not the case, we will advance once the paint events happens, which is after layout adjustment PaintEventHandler paintEvent = null; paintEvent = (s, e1) => { dialogEditor.GoToScriptLine(evArgs); dialogEditor.Paint -= paintEvent; }; dialogEditor.Paint += paintEvent; dialogEditor.Invalidate(); } } }
public static BranchNodeDisplayer CreateBranchDisplayer(Vector2 position) { BranchWireNode node = new BranchWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Branch" }; DialogEditor.InitializeNode(ref node); node.FalsePin = new OutputWirePin(node, DialogEditor.Instance.EditingDialog) { PinName = "False", DataType = WDEngine.ActivityStream }; node.Outputs[0].PinName = "True"; node.TruePin = node.Outputs[0]; node.Outputs.Add(node.FalsePin); node.Inputs.Add(new InputWirePin(node, DialogEditor.Instance.EditingDialog) { PinName = "Condition", DataType = typeof(bool) }); BranchNodeDisplayer nodeRenderer = new BranchNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 220, 70) }; return(nodeRenderer); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); if (GUILayout.Button("Open Editor")) { DialogEditor.ShowDialogEditor(target); } }
public override void Init() { base.Init(); Engine.Instance.StateRenderer = new NativeGameRenderer(); Engine.Instance.State.Ui.Add(Camera = new Camera(new CameraDriver())); DialogEditor.Init(); }
public override void RenderNative() { ImGuiHelper.Begin(); DialogEditor.Render(); DebugWindow.Render(); ImGuiHelper.End(); Graphics.Batch.Begin(); Graphics.Batch.DrawCircle(new CircleF(Mouse.GetState().Position, 3f), 8, Color.White); Graphics.Batch.End(); }
public static void ShowDialogEditor() { Object[] selection = Selection.GetFiltered(typeof(Dialog), SelectionMode.Assets); if (selection.Length > 0) { Dialog dlg = selection[0] as Dialog; if (dlg != null) { DialogEditor dialogEditor = GetWindow <DialogEditor>(); dialogEditor.dialog = dlg; } } }
public static bool OpenCanvas(int instanceID, int line) { Object obj = EditorUtility.InstanceIDToObject(instanceID); if (obj.GetType() == typeof(DialogCanvas)) { DialogEditor window = (DialogEditor)EditorWindow.GetWindow(typeof(DialogEditor)); window.oldPath = NodeSaveOperator.LoadCanvas(ref window.canvas, AssetDatabase.GetAssetPath(instanceID)); window.Show(); return(true); } return(false); }
private void AddDocumentIfNeeded(bool showEditor, Dialog chosenItem) { if (!_documents.ContainsKey(chosenItem)) { DialogEditor dialogEditor = new DialogEditor(chosenItem, _agsEditor); _documents.Add(chosenItem, new ContentDocument(dialogEditor, chosenItem.WindowTitle, this, ConstructPropertyObjectList(chosenItem))); _documents[chosenItem].SelectedPropertyGridObject = chosenItem; _documents[chosenItem].MainMenu = dialogEditor.ExtraMenu; } if (showEditor) { _guiController.AddOrShowPane(_documents[chosenItem]); } }
public static TriggerScriptNodeDisplayer CreateTriggerScriptNodeDisplayer(Vector2 position) { TriggerScriptWireNode node = new TriggerScriptWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Trigger script" }; DialogEditor.InitializeNode(ref node); TriggerScriptNodeDisplayer nodeRenderer = new TriggerScriptNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 270, 100) }; return(nodeRenderer); }
public static SetTriggerParamValueNodeDisplayer CreateSetTriggerParamDisplayer(Vector2 position) { SetTriggerParamValueWireNode node = new SetTriggerParamValueWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Set trigger param" }; DialogEditor.InitializeNode(ref node); SetTriggerParamValueNodeDisplayer nodeRenderer = new SetTriggerParamValueNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 270, 140) }; return(nodeRenderer); }
public static SetVariableValNodeDisplayer CreateSetVariableValDisplayer(Vector2 position) { SetVariableValWireNode node = new SetVariableValWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Update variable" }; DialogEditor.InitializeNode(ref node); SetVariableValNodeDisplayer nodeRenderer = new SetVariableValNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 270, 90) }; return(nodeRenderer); }
public static SayReplyNodeDisplayer CreateSayReplyNodeDisplayer(Vector2 position) { SayReplyWireNode node = new SayReplyWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Say reply" }; DialogEditor.InitializeNode(ref node); SayReplyNodeDisplayer nodeRenderer = new SayReplyNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 270, 100) }; return(nodeRenderer); }
public static DialogBeginningNodeDisplayer CreateDialogBeginningDisplayer(Vector2 position) { DialogBeginningWireNode node = new DialogBeginningWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Dialog beginning" }; DialogEditor.InitializeNode(ref node); DialogBeginningNodeDisplayer nodeRenderer = new DialogBeginningNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 270, 100) }; return(nodeRenderer); }
public static SetAnimatorVariableNodeDisplayer CreateSetAnimatorVariableNodeDisplayer(Vector2 position) { SetAnimatorVariableWireNode node = new SetAnimatorVariableWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Set animator variable", Variable = new Core.Variables.AnimatorVariable() }; DialogEditor.InitializeNode(ref node); SetAnimatorVariableNodeDisplayer nodeRenderer = new SetAnimatorVariableNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 270, 130) }; return(nodeRenderer); }
static void processDialogMessage(Dictionary <string, Texture2D> icons, ref DialogMessage dm, XmlElement xmlMessage, string name, int index) { dm.teller = xmlMessage.Attributes.GetNamedItem("sender").InnerXml; if (xmlMessage.Attributes.GetNamedItem("leftIcon") != null) { if (!icons.ContainsKey(xmlMessage.Attributes.GetNamedItem("leftIcon").InnerXml)) { Debug.Log("dialog:" + xmlMessage.Attributes.GetNamedItem("leftIcon").InnerXml + " right icon does not exist"); } else { dm.leftIcon = icons[xmlMessage.Attributes.GetNamedItem("leftIcon").InnerXml]; } } if (xmlMessage.Attributes.GetNamedItem("rightIcon") != null) { if (!icons.ContainsKey(xmlMessage.Attributes.GetNamedItem("rightIcon").InnerXml)) { Debug.Log("dialog:" + xmlMessage.Attributes.GetNamedItem("rightIcon").InnerXml + " right icon does not exist"); } else { dm.rightIcon = icons[xmlMessage.Attributes.GetNamedItem("rightIcon").InnerXml]; } } dm.text = xmlMessage.InnerXml; string alignment = xmlMessage.Attributes.GetNamedItem("senderalignment").InnerXml; if (alignment.ToLower() == "right".ToLower()) { dm.alignment = DialogMessage.Alignment.Right; } else if (alignment.ToLower() == "left".ToLower()) { dm.alignment = DialogMessage.Alignment.Left; } string assetPath = "Dialogs/" + name; string path = "Assets/Resources/Translations/" + assetPath + index.ToString() + ".prefab"; string prefabFullPath = Application.dataPath + "/Resources/Translations/" + assetPath + index.ToString() + ".prefab"; string directory = prefabFullPath.Substring(0, prefabFullPath.LastIndexOf('/') + 1); DialogEditor.CreateTranslationForDialogMessage(dm, path, directory); }
public static ChooseReplyNodeDisplayer CreateChooseReplyNodeDisplayer(Vector2 position) { ChooseReplyWireNode node = new ChooseReplyWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Choice" }; DialogEditor.InitializeNode(ref node); node.Outputs[0].PinName = "Choice"; ChooseReplyNodeDisplayer nodeRenderer = new ChooseReplyNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 240, 100) }; nodeRenderer.AddOutput(); return(nodeRenderer); }
private void RePopulateTreeView() { _guiController.ProjectTree.RemoveAllChildNodes(this, TOP_LEVEL_COMMAND_ID); _guiController.ProjectTree.StartFromNode(this, TOP_LEVEL_COMMAND_ID); foreach (Dialog item in _agsEditor.CurrentGame.Dialogs) { _guiController.ProjectTree.AddTreeLeaf(this, "Dlg" + item.ID, item.ID.ToString() + ": " + item.Name, "DialogIcon"); } if (_documents.ContainsValue(_guiController.ActivePane)) { DialogEditor editor = (DialogEditor)_guiController.ActivePane.Control; _guiController.ProjectTree.SelectNode(this, "Dlg" + editor.ItemToEdit.ID); } else if (_agsEditor.CurrentGame.Dialogs.Count > 0) { _guiController.ProjectTree.SelectNode(this, "Dlg0"); } }
private void AddDocumentIfNeeded(bool showEditor, Dialog chosenItem) { ContentDocument document; if (!_documents.TryGetValue(chosenItem, out document) || document.Control.IsDisposed) { DialogEditor dialogEditor = new DialogEditor(chosenItem, _agsEditor); dialogEditor.DockingContainer = new DockingContainer(dialogEditor); document = new ContentDocument(dialogEditor, chosenItem.WindowTitle, this, ICON_KEY, ConstructPropertyObjectList(chosenItem)); _documents[chosenItem] = document; document.SelectedPropertyGridObject = chosenItem; document.MainMenu = dialogEditor.ExtraMenu; } if (showEditor) { document.TreeNodeID = GetNodeID(chosenItem); _guiController.AddOrShowPane(document); } }
public static GetAnimatorVariableNodeDisplayer CreateGetAnimatorVariableNodeDisplayer(Vector2 position) { GetAnimatorVariableWireNode node = new GetAnimatorVariableWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Get animator variable" }; DialogEditor.InitializeNode(ref node); node.Outputs.Add(new OutputWirePin(node, DialogEditor.Instance.EditingDialog) { PinName = "Variable", DataType = typeof(AnimatorVariable) }); GetAnimatorVariableNodeDisplayer nodeRenderer = new GetAnimatorVariableNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 220, 80) }; return(nodeRenderer); }
public static InequalityNodeDisplayer CreateReplyNodeDisplayer(Vector2 position) { InequalityWireNode node = new InequalityWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Non equal" }; DialogEditor.InitializeNode(ref node); node.A = new InputWirePin(node, DialogEditor.Instance.EditingDialog) { PinName = "A", DataType = typeof(object) }; node.A.RefusedTypes.Add(WDEngine.ActivityStream.Name); node.A.RefusedTypes.Add(typeof(bool).Name); node.A.RefusedTypes.Add(typeof(int).Name); node.A.RefusedTypes.Add(typeof(float).Name); node.B = new InputWirePin(node, DialogEditor.Instance.EditingDialog) { PinName = "B", DataType = typeof(object) }; node.B.RefusedTypes.Add(WDEngine.ActivityStream.Name); node.B.RefusedTypes.Add(typeof(bool).Name); node.B.RefusedTypes.Add(typeof(int).Name); node.B.RefusedTypes.Add(typeof(float).Name); node.Inputs.Add(node.A); node.Inputs.Add(node.B); InequalityNodeDisplayer nodeRenderer = new InequalityNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 140, 70) }; return(nodeRenderer); }
public void DeleteNode() { DialogEditor editor = DialogEditor.editor; Dialog dialog = DialogEditor.dialog; dialog.phrases.Remove(phrase); for (int i = 0; i < inputLinks.Count; i++) { inputLinks[i].DeleteLink(); i--; } for (int i = 0; i < chooseNodes.Count; i++) { chooseNodes[i].DeleteNode(ref i); } if (dialog.startPhrase == phrase) { dialog.startPhrase = null; } DestroyImmediate(phrase.gameObject); editor.nodes.Remove(this); }
public static ConstantNodeDisplayer CreateConstantNodeDisplayer(Vector2 position) { ConstantWireNode node = new ConstantWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Constant", Constant = new Constant() }; DialogEditor.InitializeNode(ref node); node.Outputs.Add(new OutputWirePin(node, DialogEditor.Instance.EditingDialog) { DataType = typeof(Variable), PinName = "Variable" }); ConstantNodeDisplayer nodeRenderer = new ConstantNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 220, 90) }; return(nodeRenderer); }
public static void OpenWindow() { window = (DialogEditor)EditorWindow.GetWindow(typeof(DialogEditor)); //create a window window.title = "Dialog Editor"; //set a window title }
public static void ShowEditor() { // Get existing open window or if none, make a new one: editor = (DialogEditor)EditorWindow.GetWindow(typeof(DialogEditor)); }
public override void Destroy() { DialogEditor.Destroy(); base.Destroy(); Engine.Instance.StateRenderer = new PixelPerfectGameRenderer(); }
public override void RenderUi() { DialogEditor.RenderUi(); }
public void SetDialogEditor(DialogEditor d) { de = d; }