clean up Contrail trait lookups; fixes #1058

This commit is contained in:
Chris Forbes
2011-07-19 19:41:22 +12:00
committed by Paul Chote
parent 0bca88d9d3
commit 315c00f67f

View File

@@ -31,23 +31,24 @@ namespace OpenRA.Mods.RA
{
ContrailInfo Info = null;
Turret ContrailTurret = null;
ContrailHistory history;
ContrailHistory history;
IFacing facing;
IMove move;
public Contrail(Actor self, ContrailInfo info)
{
Info = info;
ContrailTurret = new Turret(Info.ContrailOffset);
history = new ContrailHistory(Info.TrailLength, Info.UsePlayerColor ? ContrailHistory.ChooseColor(self) : Info.Color);
history = new ContrailHistory(Info.TrailLength,
Info.UsePlayerColor ? ContrailHistory.ChooseColor(self) : Info.Color);
facing = self.Trait<IFacing>();
move = self.Trait<IMove>();
}
public void Tick(Actor self)
{
var facing = self.Trait<IFacing>();
var altitude = new float2(0, self.Trait<IMove>().Altitude);
var pos = self.CenterLocation - Combat.GetTurretPosition(self, facing, ContrailTurret) - altitude;
history.Tick(pos);
history.Tick(self.CenterLocation - new int2(0, move.Altitude)
- Combat.GetTurretPosition(self, facing, ContrailTurret));
}
public void RenderAfterWorld(WorldRenderer wr, Actor self) { history.Render(self); }