Add Katzsmile's transport remake; make it controllable on GDI01 while testing.

This commit is contained in:
Paul Chote
2010-09-11 18:45:25 +12:00
parent 83968553aa
commit 4206d2e131
7 changed files with 27 additions and 17 deletions

View File

@@ -24,17 +24,23 @@ namespace OpenRA.Mods.Cnc
public class RenderCargo : IRenderModifier
{
Cargo cargo;
IFacing facing;
public RenderCargo(Actor self)
{
cargo = self.Trait<Cargo>();
if (self.HasTrait<IFacing>())
facing = self.Trait<IFacing>();
}
public IEnumerable<Renderable> ModifyRender(Actor self, IEnumerable<Renderable> r)
{
foreach (var c in cargo.Passengers)
{
c.Trait<ITeleportable>().SetPxPosition( c, self.Trait<IHasLocation>().PxPosition );
if (facing != null && c.HasTrait<IFacing>())
c.Trait<IFacing>().Facing = facing.Facing;
}
return r.Concat(cargo.Passengers.SelectMany(a => a.Render()));
}
}