Пример #1
0
 private void RecalcUnitSensorRange() {
     var allUnitSensors = _elementsData.SelectMany(ed => ed.Sensors);
     var undamagedSensors = allUnitSensors.Where(s => s.IsOperational);
     var shortRangeSensors = undamagedSensors.Where(s => s.RangeCategory == RangeCategory.Short);
     var mediumRangeSensors = undamagedSensors.Where(s => s.RangeCategory == RangeCategory.Medium);
     var longRangeSensors = undamagedSensors.Where(s => s.RangeCategory == RangeCategory.Long);
     float shortRangeDistance = shortRangeSensors.Any() ? shortRangeSensors.First().RangeDistance : Constants.ZeroF; //shortRangeSensors.CalcSensorRangeDistance();
     float mediumRangeDistance = mediumRangeSensors.Any() ? mediumRangeSensors.First().RangeDistance : Constants.ZeroF;    //mediumRangeSensors.CalcSensorRangeDistance();
     float longRangeDistance = longRangeSensors.Any() ? longRangeSensors.First().RangeDistance : Constants.ZeroF;  //longRangeSensors.CalcSensorRangeDistance();
     UnitSensorRange = new RangeDistance(shortRangeDistance, mediumRangeDistance, longRangeDistance);
 }
Пример #2
0
 private void RecalcUnitWeaponsRange() {
     var allUnitWeapons = _elementsData.SelectMany(ed => ed.Weapons);
     var undamagedUnitWeapons = allUnitWeapons.Where(w => !w.IsDamaged);
     var shortRangeWeapons = undamagedUnitWeapons.Where(w => w.RangeCategory == RangeCategory.Short);
     var mediumRangeWeapons = undamagedUnitWeapons.Where(w => w.RangeCategory == RangeCategory.Medium);
     var longRangeWeapons = undamagedUnitWeapons.Where(w => w.RangeCategory == RangeCategory.Long);
     float shortRangeDistance = shortRangeWeapons.Any() ? shortRangeWeapons.First().RangeDistance : Constants.ZeroF;
     float mediumRangeDistance = mediumRangeWeapons.Any() ? mediumRangeWeapons.First().RangeDistance : Constants.ZeroF;
     float longRangeDistance = longRangeWeapons.Any() ? longRangeWeapons.First().RangeDistance : Constants.ZeroF;
     UnitWeaponsRange = new RangeDistance(shortRangeDistance, mediumRangeDistance, longRangeDistance);
 }
Пример #3
0
 private void RecalcWeaponsRange() {
     var undamagedWeapons = Weapons.Where(w => !w.IsDamaged);
     var shortRangeWeapons = undamagedWeapons.Where(w => w.RangeCategory == RangeCategory.Short);
     var mediumRangeWeapons = undamagedWeapons.Where(w => w.RangeCategory == RangeCategory.Medium);
     var longRangeWeapons = undamagedWeapons.Where(w => w.RangeCategory == RangeCategory.Long);
     //D.Log(ShowDebugLog, "{0} found {1} short, {2} medium and {3} long range undamaged weapons when recalculating WeaponsRange.", 
     //DebugName, shortRangeWeapons.Count(), mediumRangeWeapons.Count(), longRangeWeapons.Count());
     float shortRangeDistance = shortRangeWeapons.Any() ? shortRangeWeapons.First().RangeDistance : Constants.ZeroF;
     float mediumRangeDistance = mediumRangeWeapons.Any() ? mediumRangeWeapons.First().RangeDistance : Constants.ZeroF;
     float longRangeDistance = longRangeWeapons.Any() ? longRangeWeapons.First().RangeDistance : Constants.ZeroF;
     WeaponsRange = new RangeDistance(shortRangeDistance, mediumRangeDistance, longRangeDistance);
     //D.Log(ShowDebugLog, "{0} recalculated WeaponsRange: {1}.", DebugName, WeaponsRange);
 }
Пример #4
0
 private void RecalcShieldRange() {
     var undamagedGenerators = ShieldGenerators.Where(gen => !gen.IsDamaged);
     var shortRangeGenerators = undamagedGenerators.Where(gen => gen.RangeCategory == RangeCategory.Short);
     var mediumRangeGenerators = undamagedGenerators.Where(gen => gen.RangeCategory == RangeCategory.Medium);
     var longRangeGenerators = undamagedGenerators.Where(gen => gen.RangeCategory == RangeCategory.Long);
     float shortRangeDistance = shortRangeGenerators.Any() ? shortRangeGenerators.First().RangeDistance : Constants.ZeroF;
     float mediumRangeDistance = mediumRangeGenerators.Any() ? mediumRangeGenerators.First().RangeDistance : Constants.ZeroF;
     float longRangeDistance = longRangeGenerators.Any() ? longRangeGenerators.First().RangeDistance : Constants.ZeroF;
     ShieldRange = new RangeDistance(shortRangeDistance, mediumRangeDistance, longRangeDistance);
     //D.Log(ShowDebugLog, "{0} recalculated ShieldRange: {1}.", DebugName, ShieldRange);
 }
Пример #5
0
 private void RecalcSensorRange() {
     var undamagedSensors = Sensors.Where(s => s.IsOperational);
     var shortRangeSensors = undamagedSensors.Where(s => s.RangeCategory == RangeCategory.Short);
     var mediumRangeSensors = undamagedSensors.Where(s => s.RangeCategory == RangeCategory.Medium);
     var longRangeSensors = undamagedSensors.Where(s => s.RangeCategory == RangeCategory.Long);
     float shortRangeDistance = shortRangeSensors.Any() ? shortRangeSensors.First().RangeDistance : Constants.ZeroF;
     float mediumRangeDistance = mediumRangeSensors.Any() ? mediumRangeSensors.First().RangeDistance : Constants.ZeroF;
     float longRangeDistance = longRangeSensors.Any() ? longRangeSensors.First().RangeDistance : Constants.ZeroF;
     SensorRange = new RangeDistance(shortRangeDistance, mediumRangeDistance, longRangeDistance);
     //D.Log(ShowDebugLog, "{0} recalculated SensorRange: {1}.", DebugName, SensorRange);
 }