コード例 #1
0
 public override void ObjectRemoved(IGameObject obj)
 {
     if (this.m_SwarmerParent != null && this.m_SwarmerParent.GetShip() == obj)
     {
         this.m_SwarmerParent = (SwarmerSpawnerControl)null;
     }
     if (this.m_Target != obj)
     {
         return;
     }
     this.m_Target = (IGameObject)null;
 }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
 public override void FindParent(IEnumerable <CombatAIController> controllers)
 {
     foreach (CombatAIController controller in controllers)
     {
         if (controller is SwarmerSpawnerControl)
         {
             SwarmerSpawnerControl swarmerSpawnerControl = controller as SwarmerSpawnerControl;
             if (swarmerSpawnerControl.IsThisMyParent(this.m_Swarmer))
             {
                 swarmerSpawnerControl.AddChild((CombatAIController)this);
                 this.m_SwarmerParent = swarmerSpawnerControl;
                 break;
             }
         }
     }
 }