diff --git a/OpenRA.Game/GameRules/ActorInfo.cs b/OpenRA.Game/GameRules/ActorInfo.cs index c260a9e3ba..7debba67cb 100644 --- a/OpenRA.Game/GameRules/ActorInfo.cs +++ b/OpenRA.Game/GameRules/ActorInfo.cs @@ -187,5 +187,6 @@ namespace OpenRA public bool HasTraitInfo() where T : ITraitInfo { return Traits.Contains(); } public T TraitInfo() where T : ITraitInfo { return Traits.Get(); } public T TraitInfoOrDefault() where T : ITraitInfo { return Traits.GetOrDefault(); } + public IEnumerable TraitInfos() where T : ITraitInfo { return Traits.WithInterface(); } } } diff --git a/OpenRA.Mods.Common/Lint/CheckPalettes.cs b/OpenRA.Mods.Common/Lint/CheckPalettes.cs index 47f8835112..c811792b3b 100644 --- a/OpenRA.Mods.Common/Lint/CheckPalettes.cs +++ b/OpenRA.Mods.Common/Lint/CheckPalettes.cs @@ -24,7 +24,7 @@ namespace OpenRA.Mods.Common.Lint foreach (var actorInfo in rules.Actors) { - foreach (var traitInfo in actorInfo.Value.Traits) + foreach (var traitInfo in actorInfo.Value.TraitInfos()) { var fields = traitInfo.GetType().GetFields(); foreach (var field in fields.Where(x => x.HasAttribute())) @@ -70,7 +70,7 @@ namespace OpenRA.Mods.Common.Lint { foreach (var actorInfo in rules.Actors) { - foreach (var traitInfo in actorInfo.Value.Traits) + foreach (var traitInfo in actorInfo.Value.TraitInfos()) { var fields = traitInfo.GetType().GetFields(); foreach (var field in fields.Where(x => x.HasAttribute())) diff --git a/OpenRA.Mods.Common/Lint/CheckSequences.cs b/OpenRA.Mods.Common/Lint/CheckSequences.cs index f163833ef4..1941d8fd2b 100644 --- a/OpenRA.Mods.Common/Lint/CheckSequences.cs +++ b/OpenRA.Mods.Common/Lint/CheckSequences.cs @@ -55,7 +55,7 @@ namespace OpenRA.Mods.Common.Lint } } - foreach (var traitInfo in actorInfo.Value.Traits.WithInterface()) + foreach (var traitInfo in actorInfo.Value.TraitInfos()) { var fields = traitInfo.GetType().GetFields(); foreach (var field in fields) diff --git a/OpenRA.Mods.Common/Lint/CheckUpgrades.cs b/OpenRA.Mods.Common/Lint/CheckUpgrades.cs index 73006c958b..eb88b1d1fb 100644 --- a/OpenRA.Mods.Common/Lint/CheckUpgrades.cs +++ b/OpenRA.Mods.Common/Lint/CheckUpgrades.cs @@ -30,7 +30,7 @@ namespace OpenRA.Mods.Common.Lint foreach (var actorInfo in rules.Actors) { - foreach (var trait in actorInfo.Value.Traits) + foreach (var trait in actorInfo.Value.TraitInfos()) { var fields = trait.GetType().GetFields(); foreach (var field in fields.Where(x => x.HasAttribute())) @@ -50,7 +50,7 @@ namespace OpenRA.Mods.Common.Lint // Check all upgrades granted by traits. foreach (var actorInfo in rules.Actors) { - foreach (var trait in actorInfo.Value.Traits) + foreach (var trait in actorInfo.Value.TraitInfos()) { var fields = trait.GetType().GetFields(); foreach (var field in fields.Where(x => x.HasAttribute())) @@ -83,7 +83,7 @@ namespace OpenRA.Mods.Common.Lint // Get all upgrades granted by traits. foreach (var actorInfo in rules.Actors) { - foreach (var trait in actorInfo.Value.Traits) + foreach (var trait in actorInfo.Value.TraitInfos()) { var fields = trait.GetType().GetFields(); foreach (var field in fields.Where(x => x.HasAttribute())) @@ -129,7 +129,7 @@ namespace OpenRA.Mods.Common.Lint { foreach (var actorInfo in rules.Actors) { - foreach (var trait in actorInfo.Value.Traits) + foreach (var trait in actorInfo.Value.TraitInfos()) { var fields = trait.GetType().GetFields(); foreach (var field in fields.Where(x => x.HasAttribute()))