Fix WithCargo desync.
This commit is contained in:
committed by
Matthias Mailänder
parent
eae41b1750
commit
8730a7f223
@@ -29,7 +29,7 @@ namespace OpenRA.Mods.Cnc.Traits
|
|||||||
public object Create(ActorInitializer init) { return new WithCargo(init.Self, this); }
|
public object Create(ActorInitializer init) { return new WithCargo(init.Self, this); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WithCargo : IRenderModifier
|
public class WithCargo : IRenderModifier, ITick
|
||||||
{
|
{
|
||||||
readonly Cargo cargo;
|
readonly Cargo cargo;
|
||||||
readonly IFacing facing;
|
readonly IFacing facing;
|
||||||
@@ -45,6 +45,19 @@ namespace OpenRA.Mods.Cnc.Traits
|
|||||||
body = self.Trait<IBodyOrientation>();
|
body = self.Trait<IBodyOrientation>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Tick(Actor self)
|
||||||
|
{
|
||||||
|
if (facing == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
foreach (var c in cargo.Passengers)
|
||||||
|
{
|
||||||
|
var cargoFacing = c.TraitOrDefault<IFacing>();
|
||||||
|
if (cargoFacing != null)
|
||||||
|
cargoFacing.Facing = facing.Facing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public IEnumerable<IRenderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r)
|
public IEnumerable<IRenderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r)
|
||||||
{
|
{
|
||||||
foreach (var rr in r)
|
foreach (var rr in r)
|
||||||
@@ -55,10 +68,6 @@ namespace OpenRA.Mods.Cnc.Traits
|
|||||||
var i = 0;
|
var i = 0;
|
||||||
foreach (var c in cargo.Passengers)
|
foreach (var c in cargo.Passengers)
|
||||||
{
|
{
|
||||||
var cargoFacing = c.TraitOrDefault<IFacing>();
|
|
||||||
if (facing != null && cargoFacing != null)
|
|
||||||
cargoFacing.Facing = facing.Facing;
|
|
||||||
|
|
||||||
var cargoPassenger = c.Trait<Passenger>();
|
var cargoPassenger = c.Trait<Passenger>();
|
||||||
if (cargoInfo.DisplayTypes.Contains(cargoPassenger.Info.CargoType))
|
if (cargoInfo.DisplayTypes.Contains(cargoPassenger.Info.CargoType))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user