public static void AddAiTarget(MyAiTargetBase aiTarget) { if (Static != null) { Static.m_aiTargets.Add(aiTarget); } }
public MyAgentLogic(IMyBot bot) : base(bot) { m_entityBot = m_bot as IMyEntityBot; AiTarget = MyAIComponent.BotFactory.CreateTargetForBot(AgentBot); Debug.Assert(AiTarget != null, "Ai target was not created in CreateTargetForBot()!"); }
public static void RemoveAiTarget(MyAiTargetBase aiTarget) { if (Static != null) { Static.m_aiTargets.Remove(aiTarget); } }
public static void RemoveAiTarget(MyAiTargetBase aiTarget) { if (Static == null) { return; } Static.m_aiTargets.Remove(aiTarget); }
public static void AddAiTarget(MyAiTargetBase aiTarget) { if (Static == null) { return; } Debug.Assert(!Static.m_aiTargets.Contains(aiTarget), "AI target already exists in the manager"); Static.m_aiTargets.Add(aiTarget); }
public MyAiTargetBase CreateTargetForBot(MyAgentBot bot) { MyAiTargetBase base2 = null; this.m_tmpConstructorParamArray[0] = bot; Type type = null; this.m_TargetTypeByName.TryGetValue(bot.AgentDefinition.TargetType, out type); if (type != null) { base2 = Activator.CreateInstance(type, this.m_tmpConstructorParamArray) as MyAiTargetBase; } this.m_tmpConstructorParamArray[0] = null; return(base2); }
public MyAiTargetBase CreateTargetForBot(MyAgentBot bot) { MyAiTargetBase retval = null; m_tmpConstructorParamArray[0] = bot; Type targetType = null; m_TargetTypeByName.TryGetValue(bot.AgentDefinition.TargetType, out targetType); if (targetType != null) { retval = Activator.CreateInstance(targetType, m_tmpConstructorParamArray) as MyAiTargetBase; } m_tmpConstructorParamArray[0] = null; return(retval); }
public virtual unsafe void DebugDraw() { if (this.AgentEntity != null) { MyAiTargetBase aiTargetBase = this.m_actions.AiTargetBase; if ((aiTargetBase != null) && aiTargetBase.HasTarget()) { MyRenderProxy.DebugDrawPoint(aiTargetBase.TargetPosition, Color.Aquamarine, false, false); if ((this.BotEntity != null) && (aiTargetBase.TargetEntity != null)) { string text = null; text = (aiTargetBase.TargetType != MyAiTargetEnum.CUBE) ? $"Target:{aiTargetBase.TargetEntity.ToString()}" : $"Target:{aiTargetBase.GetTargetBlock()}"; Vector3D center = this.BotEntity.PositionComp.WorldAABB.Center; double * numPtr1 = (double *)ref center.Y; numPtr1[0] += this.BotEntity.PositionComp.WorldAABB.HalfExtents.Y + 0.20000000298023224; MyRenderProxy.DebugDrawText3D(center, text, Color.Red, 1f, false, MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_TOP, -1, false); } } this.m_botLogic.DebugDraw(); } }
public override void Init() { base.Init(); AiTarget = AgentBot.AgentActions.AiTarget as MyAiTargetBase; }
public static void RemoveAiTarget(MyAiTargetBase aiTarget) { if (Static == null) return; Static.m_aiTargets.Remove(aiTarget); }
public static void AddAiTarget(MyAiTargetBase aiTarget) { if (Static == null) return; Debug.Assert(!Static.m_aiTargets.Contains(aiTarget), "AI target already exists in the manager"); Static.m_aiTargets.Add(aiTarget); }
public void RemoveAiTarget(MyAiTargetBase aiTarget) { m_aiTargets.Remove(aiTarget); }
public void AddAiTarget(MyAiTargetBase aiTarget) { Debug.Assert(!m_aiTargets.Contains(aiTarget), "AI target already exists in the manager"); m_aiTargets.Add(aiTarget); }