/// <summary> /// 设置选中Agent /// </summary> /// <param name="agent"></param> public void SetSelectedAgent(AgentDesigner agent) { m_SelectionNodes.Clear(); m_SelectedTransition = null; if (DebugManager.Instance.Debugging) { DebugManager.Instance.Stop(); } if (Agent != null) { if (Agent.Nodes.Count > 0) { for (int i = 0; i < Agent.Nodes.Count; i++) { NodeDesigner node = Agent.Nodes[i]; if (node.Transitions.Count > 0) { for (int j = 0; j < node.Transitions.Count; j++) { Transition transition = node.Transitions[j]; NodeDesigner fromNode = Agent.FindNodeByID(transition.FromNodeID); NodeDesigner toNode = Agent.FindNodeByID(transition.ToNodeID); transition.Set(toNode, fromNode); } } } CenterView(); } } }
public void SetAgent(Agent agent) { Agent = new AgentDesigner(); //创建节点 for (int i = 0; i < agent.BTree.AllNodes.Count; i++) { BaseNode baseNode = agent.BTree.AllNodes[i]; NodeDesigner nodeDesigner = new NodeDesigner(); nodeDesigner.baseNode = baseNode; nodeDesigner.NodeData = baseNode.Fields; nodeDesigner.Rect = new Rect(nodeDesigner.NodeData.X, nodeDesigner.NodeData.Y, BehaviorTreeEditorStyles.StateWidth, BehaviorTreeEditorStyles.StateHeight); Agent.Nodes.Add(nodeDesigner); } //初始化Transition if (Agent.Nodes.Count > 0) { for (int i = 0; i < Agent.Nodes.Count; i++) { NodeDesigner node = Agent.Nodes[i]; SetTransition(node, node.NodeData); } CenterView(); } }