Beispiel #1
0
 private void ThinkTrack()
 {
     if (this.m_Target == null)
     {
         if (this.m_Target != this.m_LocustNest)
         {
             this.m_State = LocustFighterStates.SEEK;
         }
         else
         {
             this.m_State = LocustFighterStates.IDLE;
         }
     }
     else
     {
         if (!(this.m_Target is StellarBody))
         {
             return;
         }
         StellarBody target = this.m_Target as StellarBody;
         float       num    = target.Parameters.Radius + this.m_LocustFighter.ShipSphere.radius;
         if ((double)(target.Parameters.Position - this.m_LocustFighter.Position).LengthSquared >= (double)num * (double)num)
         {
             return;
         }
         this.m_State = LocustFighterStates.ASSAULT;
         if (this.m_LocustNest == null)
         {
             return;
         }
         this.m_LocustNest.NotifyFighterHasLanded();
     }
 }
Beispiel #2
0
 private void ThinkIdle()
 {
     if (this.m_Target == null || this.m_Target == this.m_LocustNest)
     {
         return;
     }
     this.m_State = LocustFighterStates.TRACK;
 }
Beispiel #3
0
 private void ThinkSeek()
 {
     if (this.m_Target == null)
     {
         return;
     }
     if (this.m_Target != this.m_LocustNest)
     {
         this.m_State = LocustFighterStates.TRACK;
     }
     else
     {
         this.m_State = LocustFighterStates.IDLE;
     }
 }
Beispiel #4
0
        private void ThinkAssault()
        {
            bool flag = this.m_Target == null;

            if (this.m_Target is StellarBody)
            {
                StellarBody target = this.m_Target as StellarBody;
                float       num    = target.Parameters.Radius + this.m_LocustFighter.ShipSphere.radius;
                if ((double)(target.Parameters.Position - this.m_LocustFighter.Position).LengthSquared > (double)num * (double)num)
                {
                    flag = true;
                }
            }
            if (!flag)
            {
                return;
            }
            this.m_State = LocustFighterStates.SEEK;
            this.SetTarget((IGameObject)null);
        }
Beispiel #5
0
 public override void Initialize()
 {
     this.m_Target     = (IGameObject)null;
     this.m_LocustNest = (LocustNestControl)null;
     this.m_State      = LocustFighterStates.IDLE;
 }