Remove unnecessary uses of Exts.IsTraitEnabled

This commit is contained in:
abcdefg30
2022-10-09 22:57:50 +02:00
committed by Gustas
parent 75f642bd09
commit d8349a429a
13 changed files with 17 additions and 18 deletions

View File

@@ -51,7 +51,7 @@ namespace OpenRA.Mods.Common.Activities
this.targetLineColor = targetLineColor; this.targetLineColor = targetLineColor;
this.forceAttack = forceAttack; 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(); revealsShroud = self.TraitsImplementing<RevealsShroud>().ToArray();
facing = self.Trait<IFacing>(); facing = self.Trait<IFacing>();
positionable = self.Trait<IPositionable>(); 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 // Lambdas can't use 'in' variables, so capture a copy for later
var rangeTarget = target; var rangeTarget = target;
lastVisibleMaximumRange = attackTraits.Where(x => !x.IsTraitDisabled) lastVisibleMaximumRange = attackTraits.Min(x => x.GetMaximumRangeVersusTarget(rangeTarget));
.Min(x => x.GetMaximumRangeVersusTarget(rangeTarget));
if (target.Type == TargetType.Actor) if (target.Type == TargetType.Actor)
{ {
@@ -176,7 +175,7 @@ namespace OpenRA.Mods.Common.Activities
return AttackStatus.UnableToAttack; return AttackStatus.UnableToAttack;
var rs = revealsShroud var rs = revealsShroud
.Where(Exts.IsTraitEnabled) .Where(t => !t.IsTraitDisabled)
.MaxByOrDefault(s => s.Range); .MaxByOrDefault(s => s.Range);
// Default to 2 cells if there are no active traits // Default to 2 cells if there are no active traits

View File

@@ -310,7 +310,7 @@ namespace OpenRA.Mods.Common.Activities
{ {
foreach (var actor in self.World.ActorMap.GetActorsAt(cell)) 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; return false;
} }

View File

@@ -96,7 +96,7 @@ namespace OpenRA.Mods.Common.Orders
var cursor = OrderInner(world, mi) var cursor = OrderInner(world, mi)
.SelectMany(o => o.Subject.TraitsImplementing<Sellable>()) .SelectMany(o => o.Subject.TraitsImplementing<Sellable>())
.Where(Exts.IsTraitEnabled) .Where(t => !t.IsTraitDisabled)
.Select(si => si.Info.Cursor) .Select(si => si.Info.Cursor)
.FirstOrDefault(); .FirstOrDefault();

View File

@@ -325,7 +325,7 @@ namespace OpenRA.Mods.Common.Traits
if (target.Type == TargetType.FrozenActor && !attack.Info.TargetFrozenActors && !forceAttack) if (target.Type == TargetType.FrozenActor && !attack.Info.TargetFrozenActors && !forceAttack)
{ {
var rs = revealsShroud var rs = revealsShroud
.Where(Exts.IsTraitEnabled) .Where(t => !t.IsTraitDisabled)
.MaxByOrDefault(s => s.Range); .MaxByOrDefault(s => s.Range);
// Default to 2 cells if there are no active traits // Default to 2 cells if there are no active traits

View File

@@ -179,7 +179,7 @@ namespace OpenRA.Mods.Common.Traits
: base(info) : base(info)
{ {
var self = init.Self; 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); 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 = activeTargetPriorities =
self.TraitsImplementing<AutoTargetPriority>() self.TraitsImplementing<AutoTargetPriority>()
.OrderByDescending(ati => ati.Info.Priority).ToArray() .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(); overrideAutoTarget = self.TraitsImplementing<IOverrideAutoTarget>().ToArray();
notifyStanceChanged = self.TraitsImplementing<INotifyStanceChanged>().ToArray(); notifyStanceChanged = self.TraitsImplementing<INotifyStanceChanged>().ToArray();

View File

@@ -126,7 +126,7 @@ namespace OpenRA.Mods.Common.Traits
} }
// Less harvesters than refineries - build a new harvester // 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) if (unitBuilder != null && Info.HarvesterTypes.Count > 0)
{ {
var harvInfo = AIUtils.GetInfoByCommonName(Info.HarvesterTypes, player); var harvInfo = AIUtils.GetInfoByCommonName(Info.HarvesterTypes, player);

View File

@@ -110,7 +110,7 @@ namespace OpenRA.Mods.Common.Traits
// No construction yards - Build a new MCV // No construction yards - Build a new MCV
if (ShouldBuildMCV()) if (ShouldBuildMCV())
{ {
var unitBuilder = requestUnitProduction.FirstOrDefault(Exts.IsTraitEnabled); var unitBuilder = requestUnitProduction.FirstEnabledTraitOrDefault();
if (unitBuilder != null) if (unitBuilder != null)
{ {
var mcvInfo = AIUtils.GetInfoByCommonName(Info.McvTypes, player); var mcvInfo = AIUtils.GetInfoByCommonName(Info.McvTypes, player);

View File

@@ -66,7 +66,7 @@ namespace OpenRA.Mods.Common.Traits
return Enumerable.Empty<Exit>(); return Enumerable.Empty<Exit>();
var all = actor.TraitsImplementing<Exit>() var all = actor.TraitsImplementing<Exit>()
.Where(Exts.IsTraitEnabled); .Where(t => !t.IsTraitDisabled);
if (string.IsNullOrEmpty(productionType)) if (string.IsNullOrEmpty(productionType))
return all; return all;

View File

@@ -93,11 +93,11 @@ namespace OpenRA.Mods.Common.Traits
enabledCapturable = self.TraitsImplementing<Capturable>() enabledCapturable = self.TraitsImplementing<Capturable>()
.ToArray() .ToArray()
.Where(Exts.IsTraitEnabled); .Where(t => !t.IsTraitDisabled);
enabledCaptures = self.TraitsImplementing<Captures>() enabledCaptures = self.TraitsImplementing<Captures>()
.ToArray() .ToArray()
.Where(Exts.IsTraitEnabled); .Where(t => !t.IsTraitDisabled);
RefreshCaptures(); RefreshCaptures();
RefreshCapturable(); RefreshCapturable();

View File

@@ -604,7 +604,7 @@ namespace OpenRA.Mods.Common.Traits
Activity WrapMove(Activity inner) Activity WrapMove(Activity inner)
{ {
var moveWrapper = moveWrappers.FirstOrDefault(Exts.IsTraitEnabled); var moveWrapper = moveWrappers.FirstEnabledTraitOrDefault();
if (moveWrapper != null) if (moveWrapper != null)
return moveWrapper.WrapMove(inner); return moveWrapper.WrapMove(inner);

View File

@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Traits
{ {
public static bool AcceptsOrder(this Actor self, string orderString) 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) if (rejectsOrdersTraits.Length == 0)
return true; return true;

View File

@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits.Render
void INotifyCreated.Created(Actor self) void INotifyCreated.Created(Actor self)
{ {
// Name check can be cached but enabled check can't. // 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() float ISelectionBar.GetValue()

View File

@@ -64,7 +64,7 @@ namespace OpenRA.Mods.Common.Warheads
if (!AffectsParent && victim == firedBy) if (!AffectsParent && victim == firedBy)
continue; 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)) if (!activeShapes.Any(s => s.DistanceFromEdge(victim, pos).Length <= 0))
continue; continue;