/// <summary> /// BT Canvas extra GUI States /// </summary> /// <param name="controller">MoonEditor Controller</param> /// <returns>Defined gui states</returns> public override Dictionary <int, System.Action> CanvasGUIStates(MoonEditorController controller) { Dictionary <int, System.Action> dic = new Dictionary <int, System.Action>(); dic.Add(4, () => { MoonGUI.DrawGrid(new Rect(0, 17, Screen.width, Screen.height), Vector2.zero); NewScriptName = MoonModal.InputPanel(new Vector2(200, 100), "Create " + ((NewScriptMode == 0) ? " Action" : "Decision"), "Ok", "Cancel", "Class Name", NewScriptName, () => { if (MoonIO.ValidFileName(NewScriptName)) { if (MoonIO.ValidClassName(NewScriptName)) { string Savefolder = MoonSettings.ActionsSaveDirectory + "/BehaviorTrees"; if (NewScriptMode >= 1) { // create Decition Savefolder += "/_Decisions"; } CreateBTScript(Savefolder, NewScriptMode == 0, NewScriptName); NewScriptName = string.Empty; controller.CurrentGUIState = 0; } } }, () => { NewScriptName = string.Empty; controller.CurrentGUIState = 0; }); }); return(dic); }
/// <summary> /// BT canvas extra context menu /// </summary> /// <returns>Extra context meny elements</returns> public override Dictionary <string, System.Action> CanvasContextMenu(MoonEditorController controller) { Dictionary <string, System.Action> dic = new Dictionary <string, System.Action>(); dic.Add("$", null); dic.Add("Create/Action", () => { NewScriptMode = 0; controller.CurrentGUIState = 4; }); dic.Add("Create/Decision", () => { NewScriptMode = 1; controller.CurrentGUIState = 4; }); return(dic); }
/// <summary> /// Canvas GUI States and it's default actions /// </summary> /// <returns></returns> public virtual Dictionary <int, System.Action> CanvasGUIStates(MoonEditorController controller) { return(new Dictionary <int, System.Action>()); }
/// <summary> /// User defined context menu elements on empty space /// </summary> /// <returns>Dictionary with user options</returns> public virtual Dictionary <string, System.Action> CanvasContextMenu(MoonEditorController controller) { return(new Dictionary <string, System.Action>()); }