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; } }
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); }
public static MyObjectBuilder_BehaviorTreeNodeMemory CreateObjectBuilder(MyBehaviorTreeNodeMemory cubeBlock) { return(m_objectFactory.CreateObjectBuilder <MyObjectBuilder_BehaviorTreeNodeMemory>(cubeBlock)); }
public void AddNodeMemory(MyBehaviorTreeNodeMemory nodeMemory) { m_nodesMemory.Add(nodeMemory); }