public void ShowInstanceProperty() { if (Plugin.EditMode == EditModes.Design) { return; } TreeNode treeNode = this.treeView.SelectedNode; if (treeNode == null) { return; } string agentInstanceName = treeNode.Name; FrameStatePool.PlanningState nodeState = null; if (treeNode.Tag != null && treeNode.Tag is FrameStatePool.PlanningProcess) { FrameStatePool.PlanningProcess planning = (FrameStatePool.PlanningProcess)treeNode.Tag; agentInstanceName = planning._agentFullName; nodeState = planning._rootState; } ParametersDock.Inspect(agentInstanceName, nodeState); }
private void setDebugInstance() { if (Plugin.EditMode == EditModes.Design) { return; } TreeNode treeNode = this.treeView.SelectedNode; if (treeNode == null) { return; } if (treeNode.Tag != null && treeNode.Tag is FrameStatePool.PlanningProcess) { //planning FrameStatePool.PlanningProcess planning = treeNode.Tag as FrameStatePool.PlanningProcess; showPlanning(planning); } else if (!isFoldNode(treeNode)) { //this.debugLabel.Text = "Debug : " + treeNode.Text; Plugin.DebugAgentInstance = treeNode.Name; ShowInstanceProperty(); } }
private static void showPlanning(FrameStatePool.PlanningProcess planning) { BehaviorTreeView view = UIUtilities.ShowPlanning(planning); if (view != null) { view.ClickNode += new BehaviorTreeView.ClickNodeEventDelegate(Planning_ClikcNode); } }
public static void ShowPlanning(string agentFullName, int frame, int index) { FrameStatePool.PlanningProcess planning = FrameStatePool.GetPlanning(agentFullName, frame, index); if (planning != null) { showPlanning(planning); } }
public static BehaviorTreeView ShowPlanning(FrameStatePool.PlanningProcess planning) { string behaviorFilename = FileManagers.FileManager.GetFullPath(planning._behaviorTree); if (!File.Exists(behaviorFilename)) { return(null); } string planningName = string.Format("PLanning_{0}_{1}", planning._frame, planning._index); Dictionary <string, BehaviorNode> list_plannings = null; if (!_agent_plannings.ContainsKey(planning._agentFullName)) { list_plannings = new Dictionary <string, BehaviorNode>(); _agent_plannings.Add(planning._agentFullName, list_plannings); } else { list_plannings = _agent_plannings[planning._agentFullName]; } BehaviorNode behavior = null; if (!list_plannings.ContainsKey(planningName)) { Plugin.PlanningProcess = planning; behavior = BehaviorManager.Instance.LoadBehavior(behaviorFilename, true); Behavior b = behavior as Behavior; b.PlanningProcess = planning; Plugin.PlanningProcess = null; b.PlanIsCollapseFailedBranch = Behavior.kPlanIsCollapseFailedBranch; list_plannings.Add(planningName, behavior); behavior.Filename = planningName; ((Node)behavior).Label = planningName; } else { behavior = list_plannings[planningName]; } Debug.Check(behavior is Node); BehaviorTreeList behaviorTreeList = BehaviorManager.Instance as BehaviorTreeList; Debug.Check(behaviorTreeList != null); behaviorTreeList.ShowNode(behavior as Node); BehaviorTreeView view = BehaviorTreeViewDock.GetBehaviorTreeView(behavior); return(view); }
private void showPlanningToolStripMenuItem_Click(object sender, EventArgs e) { TreeNode treeNode = this.treeView.SelectedNode; if (treeNode == null) { return; } if (treeNode.Tag != null && treeNode.Tag is FrameStatePool.PlanningProcess) { FrameStatePool.PlanningProcess planning = treeNode.Tag as FrameStatePool.PlanningProcess; showPlanning(planning); } }
private void AgentInstancePool_AddPlanningHandler(string agentFullName, int frame, FrameStatePool.PlanningProcess planning) { string[] types = agentFullName.Split(new char[] { '#' }, StringSplitOptions.RemoveEmptyEntries); Debug.Check(types.Length == 2); string agentType = types[0]; string agentName = types[1]; TreeNode agentTreeNode = this.treeView.Nodes[agentType]; Debug.Check(agentTreeNode != null); TreeNode[] agentInstance = agentTreeNode.Nodes.Find(agentFullName, true); if (agentInstance != null) { string planningName = string.Format("PLanning_{0}_{1}", planning._frame, planning._index); TreeNode planningNode = agentInstance[0].Nodes.Insert(agentInstance[0].GetNodeCount(false), planningName); planningNode.Tag = planning; } }