From b38b6eadd086e188e7f2d7b3aae32403b0b91799 Mon Sep 17 00:00:00 2001 From: atlimit8 Date: Sat, 19 Sep 2015 12:25:21 -0500 Subject: [PATCH] Add IEnumerable ActorInfo.TraitInfos() replacing actorInfo.traits enumeration --- OpenRA.Game/GameRules/ActorInfo.cs | 1 + OpenRA.Mods.Common/Lint/CheckPalettes.cs | 4 ++-- OpenRA.Mods.Common/Lint/CheckSequences.cs | 2 +- OpenRA.Mods.Common/Lint/CheckUpgrades.cs | 8 ++++---- 4 files changed, 8 insertions(+), 7 deletions(-) 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()))