Beispiel #1
0
        public override void PostTick(IMyBot bot, MyPerTreeBotMemory botTreeMemory)
        {
            MyBehaviorTreeNodeMemory nodeMemoryByIndex = botTreeMemory.GetNodeMemoryByIndex(base.MemoryIndex);

            if (nodeMemoryByIndex.InitCalled)
            {
                if (bot.ActionCollection.ContainsPostAction(this.m_actionName))
                {
                    bot.ActionCollection.PerformPostAction(bot, this.m_actionName);
                }
                nodeMemoryByIndex.InitCalled = false;
            }
        }
Beispiel #2
0
        public override MyBehaviorTreeState Tick(IMyBot bot, MyPerTreeBotMemory botTreeMemory)
        {
            if (bot.ActionCollection.ReturnsRunning(this.m_actionName))
            {
                bot.BotMemory.ProcessLastRunningNode(this);
            }
            MyBehaviorTreeNodeMemory nodeMemoryByIndex = botTreeMemory.GetNodeMemoryByIndex(base.MemoryIndex);

            if (!nodeMemoryByIndex.InitCalled)
            {
                nodeMemoryByIndex.InitCalled = true;
                if (bot.ActionCollection.ContainsInitAction(this.m_actionName))
                {
                    bot.ActionCollection.PerformInitAction(bot, this.m_actionName);
                }
            }
            MyBehaviorTreeState state = bot.ActionCollection.PerformAction(bot, this.m_actionName, this.m_parameters);

            nodeMemoryByIndex.NodeState = state;
            return(state);
        }
 public static MyObjectBuilder_BehaviorTreeNodeMemory CreateObjectBuilder(MyBehaviorTreeNodeMemory cubeBlock)
 {
     return m_objectFactory.CreateObjectBuilder<MyObjectBuilder_BehaviorTreeNodeMemory>(cubeBlock);
 }
Beispiel #4
0
 public static MyObjectBuilder_BehaviorTreeNodeMemory CreateObjectBuilder(MyBehaviorTreeNodeMemory cubeBlock)
 {
     return(m_objectFactory.CreateObjectBuilder <MyObjectBuilder_BehaviorTreeNodeMemory>(cubeBlock));
 }
 public void AddNodeMemory(MyBehaviorTreeNodeMemory nodeMemory)
 {
     m_nodesMemory.Add(nodeMemory);
 }