Пример #1
0
 public override void Initialize()
 {
     this.m_Target        = (IGameObject)null;
     this.m_VonNeumannMom = (VonNeumannMomControl)null;
     this.m_State         = VonNeumannChildStates.SEEK;
     this.m_Vanished      = false;
     this.m_RUStore       = 0;
     this.m_Beam          = (VonNeumannDisintegrationBeam)null;
     this.m_ApproachRange = 1000f;
     this.m_BeamWeapon    = this.m_Game.AssetDatabase.Weapons.FirstOrDefault <LogicalWeapon>((Func <LogicalWeapon, bool>)(x => ((IEnumerable <WeaponEnums.WeaponTraits>)x.Traits).Any <WeaponEnums.WeaponTraits>((Func <WeaponEnums.WeaponTraits, bool>)(k => k == WeaponEnums.WeaponTraits.Disintegrating))));
     if (this.m_BeamWeapon == null)
     {
         return;
     }
     this.m_BeamWeapon.AddGameObjectReference();
 }
Пример #2
0
 public override void ObjectRemoved(IGameObject obj)
 {
     if (this.m_VonNeumannMom != null && this.m_VonNeumannMom.GetShip() == obj)
     {
         if (this.m_VonNeumannMom.GetShip().IsDestroyed&& this.m_VonNeumannChild != null)
         {
             this.m_VonNeumannChild.KillShip(false);
         }
         this.m_VonNeumannMom = (VonNeumannMomControl)null;
     }
     if (this.m_Target != obj)
     {
         return;
     }
     this.m_Target = (IGameObject)null;
 }
Пример #3
0
 public override void FindParent(IEnumerable <CombatAIController> controllers)
 {
     foreach (CombatAIController controller in controllers)
     {
         if (controller is VonNeumannMomControl)
         {
             VonNeumannMomControl neumannMomControl = controller as VonNeumannMomControl;
             if (neumannMomControl.IsThisMyMom(this.m_VonNeumannChild))
             {
                 neumannMomControl.AddChild((CombatAIController)this);
                 this.m_VonNeumannMom = neumannMomControl;
                 break;
             }
         }
     }
 }
Пример #4
0
 private int GetNumChildrenToMaintain()
 {
     return(VonNeumannMomControl.CalcNumChildren(this.m_Game.AssetDatabase.GlobalVonNeumannData, this.m_SpawnedDefensePlatforms.Count, this.m_SpawnedEnemies.Count));
 }