private void ThinkSeek()
 {
     if (this.m_Target != null)
     {
         if (this.m_Target is Ship)
         {
             this.m_Swarmer.SetShipTarget(this.m_Target.ObjectID, (this.m_Target as Ship).ShipSphere.center, true, 0);
         }
         else
         {
             this.m_Swarmer.SetShipTarget(this.m_Target.ObjectID, Vector3.Zero, true, 0);
         }
         this.m_State = SwarmerAttackerStates.TRACK;
     }
     else
     {
         if (this.m_SwarmerParent == null)
         {
             return;
         }
         --this.m_UpdateRate;
         if (this.m_UpdateRate > 0)
         {
             return;
         }
         this.m_UpdateRate = 3;
         Vector3 look = this.m_Swarmer.Position - this.m_SwarmerParent.GetShip().Position;
         double  num  = (double)look.Normalize();
         this.m_Swarmer.Maneuvering.PostAddGoal(this.m_SwarmerParent.GetShip().Position + look * 1500f, look);
     }
 }
 private void ThinkTrack()
 {
     if (this.m_Target != null)
     {
         return;
     }
     this.m_Swarmer.SetShipTarget(0, Vector3.Zero, true, 0);
     this.m_State = SwarmerAttackerStates.SEEK;
 }
 public override void Initialize()
 {
     this.m_Target        = (IGameObject)null;
     this.m_SwarmerParent = (SwarmerSpawnerControl)null;
     this.m_State         = SwarmerAttackerStates.SEEK;
     this.m_UpdateRate    = 0;
     if (this.m_Swarmer == null)
     {
         return;
     }
     foreach (IGameObject weaponBank in this.m_Swarmer.WeaponBanks)
     {
         weaponBank.PostSetProp("IgnoreLineOfSight", true);
     }
 }