Remove unnecessary uses of Exts.IsTraitEnabled
This commit is contained in:
@@ -51,7 +51,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
this.targetLineColor = targetLineColor;
|
||||
this.forceAttack = forceAttack;
|
||||
|
||||
attackTraits = self.TraitsImplementing<AttackFrontal>().ToArray().Where(Exts.IsTraitEnabled);
|
||||
attackTraits = self.TraitsImplementing<AttackFrontal>().ToArray().Where(t => !t.IsTraitDisabled);
|
||||
revealsShroud = self.TraitsImplementing<RevealsShroud>().ToArray();
|
||||
facing = self.Trait<IFacing>();
|
||||
positionable = self.Trait<IPositionable>();
|
||||
@@ -67,8 +67,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
|
||||
// Lambdas can't use 'in' variables, so capture a copy for later
|
||||
var rangeTarget = target;
|
||||
lastVisibleMaximumRange = attackTraits.Where(x => !x.IsTraitDisabled)
|
||||
.Min(x => x.GetMaximumRangeVersusTarget(rangeTarget));
|
||||
lastVisibleMaximumRange = attackTraits.Min(x => x.GetMaximumRangeVersusTarget(rangeTarget));
|
||||
|
||||
if (target.Type == TargetType.Actor)
|
||||
{
|
||||
@@ -176,7 +175,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
return AttackStatus.UnableToAttack;
|
||||
|
||||
var rs = revealsShroud
|
||||
.Where(Exts.IsTraitEnabled)
|
||||
.Where(t => !t.IsTraitDisabled)
|
||||
.MaxByOrDefault(s => s.Range);
|
||||
|
||||
// Default to 2 cells if there are no active traits
|
||||
|
||||
@@ -310,7 +310,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
foreach (var actor in self.World.ActorMap.GetActorsAt(cell))
|
||||
{
|
||||
if (!(actor.OccupiesSpace is Mobile move) || !move.IsTraitEnabled() || !move.IsLeaving())
|
||||
if (!(actor.OccupiesSpace is Mobile move) || move.IsTraitDisabled || !move.IsLeaving())
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ namespace OpenRA.Mods.Common.Orders
|
||||
|
||||
var cursor = OrderInner(world, mi)
|
||||
.SelectMany(o => o.Subject.TraitsImplementing<Sellable>())
|
||||
.Where(Exts.IsTraitEnabled)
|
||||
.Where(t => !t.IsTraitDisabled)
|
||||
.Select(si => si.Info.Cursor)
|
||||
.FirstOrDefault();
|
||||
|
||||
|
||||
@@ -325,7 +325,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
if (target.Type == TargetType.FrozenActor && !attack.Info.TargetFrozenActors && !forceAttack)
|
||||
{
|
||||
var rs = revealsShroud
|
||||
.Where(Exts.IsTraitEnabled)
|
||||
.Where(t => !t.IsTraitDisabled)
|
||||
.MaxByOrDefault(s => s.Range);
|
||||
|
||||
// Default to 2 cells if there are no active traits
|
||||
|
||||
@@ -179,7 +179,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
: base(info)
|
||||
{
|
||||
var self = init.Self;
|
||||
ActiveAttackBases = self.TraitsImplementing<AttackBase>().ToArray().Where(Exts.IsTraitEnabled);
|
||||
ActiveAttackBases = self.TraitsImplementing<AttackBase>().ToArray().Where(t => !t.IsTraitDisabled);
|
||||
|
||||
stance = init.GetValue<StanceInit, UnitStance>(self.Owner.IsBot || !self.Owner.Playable ? info.InitialStanceAI : info.InitialStance);
|
||||
|
||||
@@ -195,7 +195,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
activeTargetPriorities =
|
||||
self.TraitsImplementing<AutoTargetPriority>()
|
||||
.OrderByDescending(ati => ati.Info.Priority).ToArray()
|
||||
.Where(Exts.IsTraitEnabled).Select(atp => atp.Info);
|
||||
.Where(t => !t.IsTraitDisabled).Select(atp => atp.Info);
|
||||
|
||||
overrideAutoTarget = self.TraitsImplementing<IOverrideAutoTarget>().ToArray();
|
||||
notifyStanceChanged = self.TraitsImplementing<INotifyStanceChanged>().ToArray();
|
||||
|
||||
@@ -126,7 +126,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
}
|
||||
|
||||
// Less harvesters than refineries - build a new harvester
|
||||
var unitBuilder = requestUnitProduction.FirstOrDefault(Exts.IsTraitEnabled);
|
||||
var unitBuilder = requestUnitProduction.FirstEnabledTraitOrDefault();
|
||||
if (unitBuilder != null && Info.HarvesterTypes.Count > 0)
|
||||
{
|
||||
var harvInfo = AIUtils.GetInfoByCommonName(Info.HarvesterTypes, player);
|
||||
|
||||
@@ -110,7 +110,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
// No construction yards - Build a new MCV
|
||||
if (ShouldBuildMCV())
|
||||
{
|
||||
var unitBuilder = requestUnitProduction.FirstOrDefault(Exts.IsTraitEnabled);
|
||||
var unitBuilder = requestUnitProduction.FirstEnabledTraitOrDefault();
|
||||
if (unitBuilder != null)
|
||||
{
|
||||
var mcvInfo = AIUtils.GetInfoByCommonName(Info.McvTypes, player);
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
return Enumerable.Empty<Exit>();
|
||||
|
||||
var all = actor.TraitsImplementing<Exit>()
|
||||
.Where(Exts.IsTraitEnabled);
|
||||
.Where(t => !t.IsTraitDisabled);
|
||||
|
||||
if (string.IsNullOrEmpty(productionType))
|
||||
return all;
|
||||
|
||||
@@ -93,11 +93,11 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
enabledCapturable = self.TraitsImplementing<Capturable>()
|
||||
.ToArray()
|
||||
.Where(Exts.IsTraitEnabled);
|
||||
.Where(t => !t.IsTraitDisabled);
|
||||
|
||||
enabledCaptures = self.TraitsImplementing<Captures>()
|
||||
.ToArray()
|
||||
.Where(Exts.IsTraitEnabled);
|
||||
.Where(t => !t.IsTraitDisabled);
|
||||
|
||||
RefreshCaptures();
|
||||
RefreshCapturable();
|
||||
|
||||
@@ -604,7 +604,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
Activity WrapMove(Activity inner)
|
||||
{
|
||||
var moveWrapper = moveWrappers.FirstOrDefault(Exts.IsTraitEnabled);
|
||||
var moveWrapper = moveWrappers.FirstEnabledTraitOrDefault();
|
||||
if (moveWrapper != null)
|
||||
return moveWrapper.WrapMove(inner);
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
public static bool AcceptsOrder(this Actor self, string orderString)
|
||||
{
|
||||
var rejectsOrdersTraits = self.TraitsImplementing<RejectsOrders>().Where(Exts.IsTraitEnabled).ToArray();
|
||||
var rejectsOrdersTraits = self.TraitsImplementing<RejectsOrders>().Where(t => !t.IsTraitDisabled).ToArray();
|
||||
if (rejectsOrdersTraits.Length == 0)
|
||||
return true;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
void INotifyCreated.Created(Actor self)
|
||||
{
|
||||
// Name check can be cached but enabled check can't.
|
||||
armaments = self.TraitsImplementing<Armament>().Where(a => info.Armaments.Contains(a.Info.Name)).ToArray().Where(Exts.IsTraitEnabled);
|
||||
armaments = self.TraitsImplementing<Armament>().Where(a => info.Armaments.Contains(a.Info.Name)).ToArray().Where(t => !t.IsTraitDisabled);
|
||||
}
|
||||
|
||||
float ISelectionBar.GetValue()
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace OpenRA.Mods.Common.Warheads
|
||||
if (!AffectsParent && victim == firedBy)
|
||||
continue;
|
||||
|
||||
var activeShapes = victim.TraitsImplementing<HitShape>().Where(Exts.IsTraitEnabled);
|
||||
var activeShapes = victim.TraitsImplementing<HitShape>().Where(t => !t.IsTraitDisabled);
|
||||
if (!activeShapes.Any(s => s.DistanceFromEdge(victim, pos).Length <= 0))
|
||||
continue;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user