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

@@ -111,8 +111,8 @@ namespace OpenRA.Mods.RA.Effects
var pos = float2.Lerp(Args.src, Args.dest, at);
var cell = Traits.Util.CellContaining(pos);
if (world.WorldActor.traits.Get<UnitInfluence>().GetUnitsAt(cell).Any(
a => a.traits.Contains<IBlocksBullets>()))
if (world.WorldActor.Trait<UnitInfluence>().GetUnitsAt(cell).Any(
a => a.HasTrait<IBlocksBullets>()))
{
Args.dest = pos.ToInt2();
Explode(world);

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.RA.Effects
public Corpse(Actor fromActor, int death)
{
anim = new Animation(fromActor.traits.GetOrDefault<RenderSimple>().GetImage(fromActor));
anim = new Animation(fromActor.TraitOrDefault<RenderSimple>().GetImage(fromActor));
anim.PlayThen("die{0}".F(death + 1),
() => fromActor.World.AddFrameEndTask(w => w.Remove(this)));

View File

@@ -22,7 +22,7 @@ namespace OpenRA.Mods.RA.Effects
public InvulnEffect(Actor a)
{
this.a = a;
this.b = a.traits.Get<IronCurtainable>();
this.b = a.Trait<IronCurtainable>();
}
public void Tick( World world )

View File

@@ -76,8 +76,8 @@ namespace OpenRA.Mods.RA.Effects
var targetPosition = Args.target.CenterLocation + offset;
var targetAltitude = 0;
if (Args.target.IsActor && Args.target.Actor.traits.Contains<IMove>())
targetAltitude = Args.target.Actor.traits.Get<IMove>().Altitude;
if (Args.target.IsActor && Args.target.Actor.HasTrait<IMove>())
targetAltitude = Args.target.Actor.Trait<IMove>().Altitude;
Altitude += Math.Sign(targetAltitude - Altitude);
Facing = Traits.Util.TickFacing(Facing,
@@ -107,8 +107,8 @@ namespace OpenRA.Mods.RA.Effects
{
var cell = Traits.Util.CellContaining(Pos);
if (world.WorldActor.traits.Get<UnitInfluence>().GetUnitsAt(cell).Any(
a => a.traits.Contains<IBlocksBullets>()))
if (world.WorldActor.Trait<UnitInfluence>().GetUnitsAt(cell).Any(
a => a.HasTrait<IBlocksBullets>()))
Explode(world);
}
}

View File

@@ -77,7 +77,7 @@ namespace OpenRA.Mods.RA.Effects
{
world.AddFrameEndTask(w => w.Remove(this));
Combat.DoExplosion(silo.Owner.PlayerActor, weapon, pos, 0);
world.WorldActor.traits.Get<ScreenShaker>().AddEffect(20, pos, 5);
world.WorldActor.Trait<ScreenShaker>().AddEffect(20, pos, 5);
}
public IEnumerable<Renderable> Render()

View File

@@ -59,7 +59,7 @@ namespace OpenRA.Mods.RA.Effects
var loc = Traits.Util.CellContaining(location);
cargo.CancelActivity();
var mobile = cargo.traits.GetOrDefault<ITeleportable>();
var mobile = cargo.TraitOrDefault<ITeleportable>();
if (mobile != null)
mobile.SetPosition(cargo, loc);
@@ -67,8 +67,8 @@ namespace OpenRA.Mods.RA.Effects
{
cargo.CenterLocation = Traits.Util.CenterOfCell(loc);
if (cargo.traits.Contains<IOccupySpace>())
world.WorldActor.traits.Get<UnitInfluence>().Add(cargo, cargo.traits.Get<IOccupySpace>());
if (cargo.HasTrait<IOccupySpace>())
world.WorldActor.Trait<UnitInfluence>().Add(cargo, cargo.Trait<IOccupySpace>());
}
w.Add(cargo);
});