Actor.traits is implementation detail

This commit is contained in:
Bob
2010-08-14 15:19:30 +12:00
committed by alzeih
parent f6c6255f64
commit ae703d50b2
165 changed files with 586 additions and 561 deletions

View File

@@ -30,7 +30,7 @@ namespace OpenRA.Mods.RA.Crates
public override int GetSelectionShares(Actor collector)
{
return collector.traits.Contains<Cloak>()
return collector.HasTrait<Cloak>()
? 0 : base.GetSelectionShares(collector);
}
@@ -44,7 +44,7 @@ namespace OpenRA.Mods.RA.Crates
collector.World.AddFrameEndTask(w =>
{
w.Remove(collector);
collector.traits.Add(cloak);
collector.AddTrait(cloak);
w.Add(collector);
});

View File

@@ -28,7 +28,7 @@ namespace OpenRA.Mods.RA
collector.World.AddFrameEndTask(w =>
{
var amount = (info as GiveCashCrateActionInfo).Amount;
collector.Owner.PlayerActor.traits.Get<PlayerResources>().GiveCash(amount);
collector.Owner.PlayerActor.Trait<PlayerResources>().GiveCash(amount);
});
base.Activate(collector);
}

View File

@@ -54,7 +54,7 @@ namespace OpenRA.Mods.RA.Crates
int2? ChooseEmptyCellNear(Actor a)
{
// hack: use `a`'s movement capability.
var move = a.traits.Get<ITeleportable>();
var move = a.Trait<ITeleportable>();
var loc = a.Location;
for (var i = -1; i < 2; i++)

View File

@@ -24,7 +24,7 @@ namespace OpenRA.Mods.RA
{
collector.World.AddFrameEndTask(w =>
{
var gainsExperience = collector.traits.GetOrDefault<GainsExperience>();
var gainsExperience = collector.TraitOrDefault<GainsExperience>();
if (gainsExperience != null)
gainsExperience.GiveOneLevel();
});

View File

@@ -26,7 +26,7 @@ namespace OpenRA.Mods.RA
{
base.Activate(collector);
if (collector.Owner == collector.World.LocalPlayer)
collector.World.WorldActor.traits.Get<Shroud>().ResetExploration();
collector.World.WorldActor.Trait<Shroud>().ResetExploration();
}
}
}

View File

@@ -26,7 +26,7 @@ namespace OpenRA.Mods.RA.Crates
public override void Activate(Actor collector)
{
var p = collector.Owner.PlayerActor.traits.WithInterface<SupportPower>()
var p = collector.Owner.PlayerActor.TraitsImplementing<SupportPower>()
.FirstOrDefault(sp => sp.GetType().Name == (info as SupportPowerCrateActionInfo).Power);
if (p != null) p.Give(1);