Add ActorInfo.HasTraitInfo<T>() requiring ITraitInfo types

This commit is contained in:
atlimit8
2015-08-02 12:44:46 -05:00
parent 85fab45451
commit 8162fa27ab
77 changed files with 138 additions and 136 deletions

View File

@@ -92,10 +92,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
foreach (var a in actors)
{
var actor = a;
if (actor.Traits.Contains<BridgeInfo>()) // bridge layer takes care about that automatically
if (actor.HasTraitInfo<BridgeInfo>()) // bridge layer takes care about that automatically
continue;
if (!actor.Traits.Contains<IRenderActorPreviewInfo>())
if (!actor.HasTraitInfo<IRenderActorPreviewInfo>())
continue;
var filter = actor.Traits.GetOrDefault<EditorTilesetFilterInfo>();

View File

@@ -245,7 +245,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
.Sum(a => a.Info.Traits.WithInterface<ValuedInfo>().First().Cost);
var harvesters = template.Get<LabelWidget>("HARVESTERS");
harvesters.GetText = () => world.Actors.Count(a => a.Owner == player && !a.IsDead && a.Info.Traits.Contains<HarvesterInfo>()).ToString();
harvesters.GetText = () => world.Actors.Count(a => a.Owner == player && !a.IsDead && a.Info.HasTraitInfo<HarvesterInfo>()).ToString();
return template;
}
@@ -280,7 +280,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{
return ScrollItemWidget.Setup(template, () => false, () =>
{
var playerBase = world.Actors.FirstOrDefault(a => !a.IsDead && a.Info.Traits.Contains<BaseBuildingInfo>() && a.Owner == player);
var playerBase = world.Actors.FirstOrDefault(a => !a.IsDead && a.Info.HasTraitInfo<BaseBuildingInfo>() && a.Owner == player);
if (playerBase != null)
worldRenderer.Viewport.Center(playerBase.CenterPosition);
});

View File

@@ -113,7 +113,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
static string ActorName(Ruleset rules, string a)
{
ActorInfo ai;
if (rules.Actors.TryGetValue(a.ToLowerInvariant(), out ai) && ai.Traits.Contains<TooltipInfo>())
if (rules.Actors.TryGetValue(a.ToLowerInvariant(), out ai) && ai.HasTraitInfo<TooltipInfo>())
return ai.Traits.Get<TooltipInfo>().Name;
return a;