当前位置: 首页>>代码示例>>C#>>正文


C# behaviac.BehaviorTree类代码示例

本文整理汇总了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;
 }
开发者ID:XyzalZhang,项目名称:behaviac,代码行数:54,代码来源:generated_behaviors.cs

示例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);
//.........这里部分代码省略.........
开发者ID:Just4F,项目名称:behaviac,代码行数:101,代码来源:generated_behaviors.cs

示例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)
                    {
//.........这里部分代码省略.........
开发者ID:nusus,项目名称:behaviac,代码行数:101,代码来源:Workspace.cs


注:本文中的behaviac.BehaviorTree类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。