Remove unnecessary uses of Exts.IsTraitEnabled
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user