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 InspectObject(AgentType agentType, string agentName, string agentFullName, FrameStatePool.PlanningState nodeState) { Nodes.Node node = null; if (!string.IsNullOrEmpty(agentFullName)) { int frame = AgentDataPool.CurrentFrame > -1 ? AgentDataPool.CurrentFrame : 0; string behaviorFilename = FrameStatePool.GetBehaviorFilename(agentFullName, frame); List <string> transitionIds = FrameStatePool.GetHighlightTransitionIds(agentFullName, frame, behaviorFilename); List <string> highlightNodeIds = FrameStatePool.GetHighlightNodeIds(agentFullName, frame, behaviorFilename); List <string> updatedNodeIds = FrameStatePool.GetUpdatedNodeIds(agentFullName, frame, behaviorFilename); Dictionary <string, FrameStatePool.NodeProfileInfos.ProfileInfo> profileInfos = FrameStatePool.GetProfileInfos(frame, behaviorFilename); BehaviorNode behavior = UIUtilities.ShowBehaviorTree(agentFullName, frame, transitionIds, highlightNodeIds, updatedNodeIds, HighlightBreakPoint.Instance, profileInfos); node = behavior as Nodes.Node; } _agentType = agentType; _agentName = agentName; Hide(); setText(agentType, agentName); if (nodeState != null) { foreach (string agentFullName1 in nodeState._agents.Keys) { string[] tokens = agentFullName1.Split('#'); Debug.Check(tokens.Length == 2); string at = tokens[0]; string an = tokens[1]; AgentType agentType1 = Plugin.GetAgentType(at); ParametersDock dock = findParametersDock(agentType1, an); dock.InspectObject(agentType1, agentFullName1); dock.setProperty(nodeState, agentFullName1); } } else if (AgentDataPool.CurrentFrame > -1 && !string.IsNullOrEmpty(agentName)) { ParametersDock dock = findParametersDock(agentType, agentName); dock.InspectObject(agentType, agentFullName); List <AgentDataPool.ValueMark> valueSet = AgentDataPool.GetValidValues(agentType, agentFullName, AgentDataPool.CurrentFrame); foreach (AgentDataPool.ValueMark value in valueSet) { dock.setProperty(null, value.Name, value.Value); } } lostAnyFocus(); Show(); }
internal static void Inspect(AgentType agentType, string agentName, string agentFullName, FrameStatePool.PlanningState nodeState) { ParametersDock dock = findParametersDock(agentType, agentName); if (dock == null) { dock = new ParametersDock(); dock.Show(MainWindow.Instance.DockPanel, WeifenLuo.WinFormsUI.Docking.DockState.DockBottom); } dock.InspectObject(agentType, agentName, agentFullName, nodeState); }
internal static void Inspect(AgentType agentType, string agentName, string agentFullname) { ParametersDock dock = findParametersDock(agentType, agentName); if (dock == null) { dock = new ParametersDock(); dock.Show(MainWindow.Instance.DockPanel, WeifenLuo.WinFormsUI.Docking.DockState.DockBottom); } dock.InspectObject(agentType, agentName, agentFullname); }
private void updateParameters(AgentType agentType, string agentName, int frame) { if (string.IsNullOrEmpty(agentName)) { return; } string typeName = (agentType == null) ? agentName : agentType.ToString(); string agentFullname = (agentType == null) ? agentName : agentType.ToString() + "#" + agentName; List <AgentDataPool.ValueMark> values = AgentDataPool.GetValidValues(agentType, agentFullname, frame); foreach (AgentDataPool.ValueMark value in values) { ParametersDock.SetProperty(typeName, agentName, value.Name, value.Value); } }
public void ShowInstanceProperty() { if (Plugin.EditMode == EditModes.Design) { return; } TreeNode treeNode = this.treeView.SelectedNode; if (treeNode == null) { return; } ParametersDock.Inspect(treeNode.Name, false); }
private static void Planning_ClikcNode(NodeViewData nvd) { if (nvd != null) { Behavior b = nvd.Node.Behavior as Behavior; if (b != null && b.PlanningProcess != null) { b.AgentType.AddPars(b.LocalVars); FrameStatePool.PlanningState nodeState = b.PlanningProcess._rootState; if (nvd.Parent != null) { nodeState = b.PlanningProcess.GetLastNode(nvd); } ParametersDock.Inspect(b.PlanningProcess._agentFullName, nodeState); } } }
private void updateParameters(AgentType agentType, string agentName, int frame) { if (string.IsNullOrEmpty(agentName)) { return; } string typeName = (agentType == null) ? agentName : agentType.ToString(); string agentFullname = (agentType == null) ? agentName : agentType.ToString() + "#" + agentName; string behaviorFilename = FrameStatePool.GetBehaviorFilename(agentFullname, frame); BehaviorNode behavior = null; if (agentFullname == Plugin.DebugAgentInstance) { behavior = UIUtilities.ShowBehavior(behaviorFilename); } List <AgentDataPool.ValueMark> values = AgentDataPool.GetValidValues(agentType, agentFullname, frame); foreach (AgentDataPool.ValueMark value in values) { ParametersDock.SetProperty(behavior, typeName, agentName, value.Name, value.Value); } }