Пример #1
0
 public static void AddAiTarget(MyAiTargetBase aiTarget)
 {
     if (Static != null)
     {
         Static.m_aiTargets.Add(aiTarget);
     }
 }
Пример #2
0
 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()!");
 }
Пример #3
0
 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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
 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();
     }
 }
Пример #9
0
        public override void Init()
        {
            base.Init();

            AiTarget = AgentBot.AgentActions.AiTarget as MyAiTargetBase;
        }
Пример #10
0
		public static void RemoveAiTarget(MyAiTargetBase aiTarget)
        {
            if (Static == null) return;

            Static.m_aiTargets.Remove(aiTarget);
        }
Пример #11
0
		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);
        }
Пример #12
0
 public void RemoveAiTarget(MyAiTargetBase aiTarget)
 {
     m_aiTargets.Remove(aiTarget);
 }
Пример #13
0
 public void AddAiTarget(MyAiTargetBase aiTarget)
 {
     Debug.Assert(!m_aiTargets.Contains(aiTarget), "AI target already exists in the manager");
     m_aiTargets.Add(aiTarget);
 }
Пример #14
0
		public void RemoveAiTarget(MyAiTargetBase aiTarget)
        {
            m_aiTargets.Remove(aiTarget);
        }
Пример #15
0
		public void AddAiTarget(MyAiTargetBase aiTarget)
        {
            Debug.Assert(!m_aiTargets.Contains(aiTarget), "AI target already exists in the manager");
            m_aiTargets.Add(aiTarget);
        }