add IHasLocation

This commit is contained in:
Bob
2010-09-26 17:58:25 +12:00
parent 911db3feb1
commit 699b4b1154
31 changed files with 136 additions and 105 deletions

View File

@@ -58,18 +58,7 @@ namespace OpenRA.Mods.RA.Effects
w.Remove(this);
var loc = Traits.Util.CellContaining(location);
cargo.CancelActivity();
var mobile = cargo.TraitOrDefault<ITeleportable>();
if (mobile != null)
mobile.SetPosition(cargo, loc);
else
{
cargo.CenterLocation = Traits.Util.CenterOfCell(loc);
if (cargo.HasTrait<IOccupySpace>())
world.WorldActor.Trait<UnitInfluence>().Add(cargo, cargo.Trait<IOccupySpace>());
}
cargo.Trait<ITeleportable>().SetPosition(cargo, loc);
w.Add(cargo);
});
}