public void Debug(AgentDesigner agent) { if (agent == null) { MainForm.Instance.ShowMessage("Agent为空"); return; } m_Nodes.Clear(); VerifyInfo verifyAgent = agent.VerifyAgent(); if (verifyAgent.HasError) { MainForm.Instance.ShowMessage("确保行为树编辑正确后才能调试\n" + verifyAgent.Msg); return; } for (int i = 0; i < agent.Nodes.Count; i++) { NodeDesigner node = agent.Nodes[i]; if (node.StartNode) { m_DebugNode = CreateDebugNode(agent, node); break; } } State = DebugState.Running; ContentUserControl.Instance.OnDebugStart(); MainForm.Instance.ShowInfo("播放成功 时间:" + DateTime.Now); }
private void enterBTN_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox1.Text.Trim())) { MainForm.Instance.ShowMessage("AgentID不能为空"); MainForm.Instance.ShowInfo("AgentID不能为空"); return; } string agentId = textBox1.Text.Trim(); if (m_Agent.AgentID != agentId) { if (MainForm.Instance.TreeData.ExistAgent(agentId)) { MainForm.Instance.ShowMessage(string.Format("已存在AgentID:{0}", agentId)); MainForm.Instance.ShowInfo(string.Format("已存在AgentID:{0}", agentId)); return; } } m_EditAgent.AgentID = agentId; m_EditAgent.Describe = textBox2.Text.Trim(); //检验Agent的是否合法 VerifyInfo verifyAgent = m_EditAgent.VerifyAgent(); if (verifyAgent.HasError) { MainForm.Instance.ShowMessage(verifyAgent.Msg); return; } string editContent = XmlUtility.ObjectToString(m_EditAgent); if (editContent != m_AgentContent) { m_Agent.UpdateAgent(m_EditAgent); MainForm.Instance.ShowInfo(string.Format("更新Agent:{0}成功 时间:{1}", m_EditAgent.AgentID, DateTime.Now)); } MainForm.Instance.Exec(OperationType.UpdateAgent, m_Agent); this.Close(); }
/// <summary> /// 校验行为树数据 /// </summary> /// <returns></returns> public VerifyInfo VerifyBehaviorTree() { VerifyInfo verifyAgentID = VerifyAgentID(); if (verifyAgentID.HasError) { return(verifyAgentID); } for (int i = 0; i < m_Agents.Count; i++) { AgentDesigner agent = m_Agents[i]; if (agent != null) { VerifyInfo verifyAgent = agent.VerifyAgent(); if (verifyAgent.HasError) { return(verifyAgent); } } } return(VerifyInfo.DefaultVerifyInfo); }