Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        private static void showPlanning(FrameStatePool.PlanningProcess planning)
        {
            BehaviorTreeView view = UIUtilities.ShowPlanning(planning);

            if (view != null)
            {
                view.ClickNode += new BehaviorTreeView.ClickNodeEventDelegate(Planning_ClikcNode);
            }
        }
Ejemplo n.º 4
0
        public static void ShowPlanning(string agentFullName, int frame, int index)
        {
            FrameStatePool.PlanningProcess planning = FrameStatePool.GetPlanning(agentFullName, frame, index);

            if (planning != null)
            {
                showPlanning(planning);
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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;
            }
        }