public void AddRegionalEffect(RegionalEffect effect) { this.regionalEffects.Add(effect); for (int i = 0; i < effect.Definition.Descriptors.Length; i++) { base.AddDescriptor(effect.Definition.Descriptors[i], true); } this.Refresh(false); IEventService service = Services.GetService <IEventService>(); if (service != null) { IGameEntityRepositoryService service2 = this.gameService.Game.Services.GetService <IGameEntityRepositoryService>(); if (service2 != null) { Kaiju kaiju = null; service2.TryGetValue <Kaiju>(effect.OwnerGUID, out kaiju); if (kaiju != null) { EventCityAddRegionalEffects eventToNotify = new EventCityAddRegionalEffects(this.Empire, this, kaiju); service.Notify(eventToNotify); } } } }
public void ClearRegionalEffects() { for (int i = 0; i < this.regionalEffects.Count; i++) { RegionalEffect regionalEffect = this.regionalEffects[i]; for (int j = 0; j < regionalEffect.Definition.Descriptors.Length; j++) { base.RemoveDescriptor(regionalEffect.Definition.Descriptors[j]); } } this.regionalEffects.Clear(); }