public void RemoveEffectFromUnits(MapBoostDefinition definition, Unit[] units, global::Empire empire) { List <SimulationDescriptorReference> list = new List <SimulationDescriptorReference>(); definition.GetValidDescriptors(empire, out list); if (list != null) { for (int i = 0; i < list.Count; i++) { SimulationDescriptor simulationDescriptor; if (this.simulationDescriptorsDatabase.TryGetValue(list[i].Name, out simulationDescriptor)) { for (int j = 0; j < units.Length; j++) { if (units[j] != null) { units[j].RemoveMapBoost(definition.Name, simulationDescriptor); if (units[j].AppliedBoosts.Count <= 0) { units[j].HasMapBoost = false; } } } } } } }