本文整理汇总了C#中behaviac.BehaviorTree类的典型用法代码示例。如果您正苦于以下问题:C# BehaviorTree类的具体用法?C# BehaviorTree怎么用?C# BehaviorTree使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BehaviorTree类属于behaviac命名空间,在下文中一共展示了BehaviorTree类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: build_behavior_tree
public static bool build_behavior_tree(BehaviorTree bt)
{
bt.SetClassNameString("BehaviorTree");
bt.SetId(-1);
bt.SetName("node_test/action_child_agent_0");
bt.IsFSM = false;
#if !BEHAVIAC_RELEASE
bt.SetAgentType("AgentNodeTest");
#endif
// pars
bt.AddPar("AgentNodeTest", "AgentNodeTest", "par_child_agent", "null");
// children
{
Sequence node0 = new Sequence();
node0.SetClassNameString("Sequence");
node0.SetId(0);
#if !BEHAVIAC_RELEASE
node0.SetAgentType("AgentNodeTest");
#endif
bt.AddChild(node0);
{
Action_bt_node_test_action_child_agent_0_node3 node3 = new Action_bt_node_test_action_child_agent_0_node3();
node3.SetClassNameString("Action");
node3.SetId(3);
#if !BEHAVIAC_RELEASE
node3.SetAgentType("AgentNodeTest");
#endif
node0.AddChild(node3);
node0.SetHasEvents(node0.HasEvents() | node3.HasEvents());
}
{
Assignment_bt_node_test_action_child_agent_0_node2 node2 = new Assignment_bt_node_test_action_child_agent_0_node2();
node2.SetClassNameString("Assignment");
node2.SetId(2);
#if !BEHAVIAC_RELEASE
node2.SetAgentType("AgentNodeTest");
#endif
node0.AddChild(node2);
node0.SetHasEvents(node0.HasEvents() | node2.HasEvents());
}
{
Action_bt_node_test_action_child_agent_0_node1 node1 = new Action_bt_node_test_action_child_agent_0_node1();
node1.SetClassNameString("Action");
node1.SetId(1);
#if !BEHAVIAC_RELEASE
node1.SetAgentType("AgentNodeTest");
#endif
node0.AddChild(node1);
node0.SetHasEvents(node0.HasEvents() | node1.HasEvents());
}
bt.SetHasEvents(bt.HasEvents() | node0.HasEvents());
}
return true;
}
示例2: build_behavior_tree
public static bool build_behavior_tree(BehaviorTree bt)
{
bt.SetClassNameString("BehaviorTree");
bt.SetId(-1);
bt.SetName("par_test/property_as_left_value_and_param");
bt.IsFSM = false;
#if !BEHAVIAC_RELEASE
bt.SetAgentType("EmployeeParTestAgent");
#endif
// children
{
Sequence node13 = new Sequence();
node13.SetClassNameString("Sequence");
node13.SetId(13);
#if !BEHAVIAC_RELEASE
node13.SetAgentType("EmployeeParTestAgent");
#endif
bt.AddChild(node13);
{
Sequence node1 = new Sequence();
node1.SetClassNameString("Sequence");
node1.SetId(1);
#if !BEHAVIAC_RELEASE
node1.SetAgentType("EmployeeParTestAgent");
#endif
node13.AddChild(node1);
{
Assignment_bt_par_test_property_as_left_value_and_param_node0 node0 = new Assignment_bt_par_test_property_as_left_value_and_param_node0();
node0.SetClassNameString("Assignment");
node0.SetId(0);
#if !BEHAVIAC_RELEASE
node0.SetAgentType("EmployeeParTestAgent");
#endif
node1.AddChild(node0);
node1.SetHasEvents(node1.HasEvents() | node0.HasEvents());
}
{
Assignment_bt_par_test_property_as_left_value_and_param_node15 node15 = new Assignment_bt_par_test_property_as_left_value_and_param_node15();
node15.SetClassNameString("Assignment");
node15.SetId(15);
#if !BEHAVIAC_RELEASE
node15.SetAgentType("EmployeeParTestAgent");
#endif
node1.AddChild(node15);
node1.SetHasEvents(node1.HasEvents() | node15.HasEvents());
}
{
Assignment_bt_par_test_property_as_left_value_and_param_node2 node2 = new Assignment_bt_par_test_property_as_left_value_and_param_node2();
node2.SetClassNameString("Assignment");
node2.SetId(2);
#if !BEHAVIAC_RELEASE
node2.SetAgentType("EmployeeParTestAgent");
#endif
node1.AddChild(node2);
node1.SetHasEvents(node1.HasEvents() | node2.HasEvents());
}
{
Assignment_bt_par_test_property_as_left_value_and_param_node3 node3 = new Assignment_bt_par_test_property_as_left_value_and_param_node3();
node3.SetClassNameString("Assignment");
node3.SetId(3);
#if !BEHAVIAC_RELEASE
node3.SetAgentType("EmployeeParTestAgent");
#endif
node1.AddChild(node3);
node1.SetHasEvents(node1.HasEvents() | node3.HasEvents());
}
{
Assignment_bt_par_test_property_as_left_value_and_param_node4 node4 = new Assignment_bt_par_test_property_as_left_value_and_param_node4();
node4.SetClassNameString("Assignment");
node4.SetId(4);
#if !BEHAVIAC_RELEASE
node4.SetAgentType("EmployeeParTestAgent");
#endif
node1.AddChild(node4);
node1.SetHasEvents(node1.HasEvents() | node4.HasEvents());
}
{
Assignment_bt_par_test_property_as_left_value_and_param_node5 node5 = new Assignment_bt_par_test_property_as_left_value_and_param_node5();
node5.SetClassNameString("Assignment");
node5.SetId(5);
#if !BEHAVIAC_RELEASE
node5.SetAgentType("EmployeeParTestAgent");
#endif
node1.AddChild(node5);
node1.SetHasEvents(node1.HasEvents() | node5.HasEvents());
}
{
Assignment_bt_par_test_property_as_left_value_and_param_node6 node6 = new Assignment_bt_par_test_property_as_left_value_and_param_node6();
node6.SetClassNameString("Assignment");
node6.SetId(6);
#if !BEHAVIAC_RELEASE
node6.SetAgentType("EmployeeParTestAgent");
#endif
node1.AddChild(node6);
node1.SetHasEvents(node1.HasEvents() | node6.HasEvents());
}
{
Assignment_bt_par_test_property_as_left_value_and_param_node7 node7 = new Assignment_bt_par_test_property_as_left_value_and_param_node7();
node7.SetClassNameString("Assignment");
node7.SetId(7);
//.........这里部分代码省略.........
示例3: format
/**
relativePath is relateve to the workspace path. relativePath should not include extension.
the file format(xml/bson) is specified by SetWorkspaceSettings.
@param bForce
force to load, otherwise it just uses the one in the cache
*/
public static bool Load(string relativePath, bool bForce)
{
Debug.Check(string.IsNullOrEmpty(StringUtils.FindExtension(relativePath)), "no extention to specify");
Debug.Check(Workspace.IsValidPath(relativePath));
BehaviorTree pBT = null;
if (BehaviorTrees.ContainsKey(relativePath))
{
if (!bForce)
{
return true;
}
pBT = BehaviorTrees[relativePath];
}
string fullPath = Workspace.WorkspaceExportPath;
fullPath += relativePath;
string ext = "";
EFileFormat f = Workspace.FileFormat;
switch (f)
{
case EFileFormat.EFF_default:
{
// try to load the behavior in xml
ext = ".xml";
if (FileManager.Instance.FileExist(fullPath, ext))
{
f = EFileFormat.EFF_xml;
}
else
{
// try to load the behavior in bson
ext = ".bson";
if (FileManager.Instance.FileExist(fullPath, ext))
{
f = EFileFormat.EFF_bson;
}
else
{
// try to load the behavior in cs
f = EFileFormat.EFF_cs;
}
}
}
break;
case EFileFormat.EFF_xml:
ext = ".xml";
break;
case EFileFormat.EFF_bson:
ext = ".bson";
break;
case EFileFormat.EFF_cs:
break;
default:
Debug.Check(false);
break;
}
bool bLoadResult = false;
bool bCleared = false;
bool bNewly = false;
if (pBT == null)
{
bNewly = true;
pBT = new BehaviorTree();
//in case of circular referencebehavior
BehaviorTrees[relativePath] = pBT;
}
Debug.Check(pBT != null);
if (f == EFileFormat.EFF_xml || f == EFileFormat.EFF_bson)
{
byte[] pBuffer = ReadFileToBuffer(fullPath, ext);
if (pBuffer != null)
{
//if forced to reload
if (!bNewly)
{
bCleared = true;
pBT.Clear();
}
if (f == EFileFormat.EFF_xml)
{
//.........这里部分代码省略.........