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; }
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); } }
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; } } } }