Split facing into its own interface; fix husks

This commit is contained in:
Paul Chote
2010-07-31 23:38:36 +12:00
parent 207ee49da3
commit d29e3f3f0e
29 changed files with 81 additions and 90 deletions

View File

@@ -30,8 +30,7 @@ namespace OpenRA.Mods.RA.Activities
public IActivity Tick( Actor self )
{
var move = self.traits.Get<IMove>();
var facing = self.traits.Get<IFacing>();
if (!Target.IsValid)
return NextActivity;
@@ -45,7 +44,7 @@ namespace OpenRA.Mods.RA.Activities
var numDirs = (renderUnit != null)
? renderUnit.anim.CurrentSequence.Facings : 8;
if (Util.QuantizeFacing(move.Facing, numDirs)
if (Util.QuantizeFacing(facing.Facing, numDirs)
!= Util.QuantizeFacing(desiredFacing, numDirs))
{
return new Turn( desiredFacing ) { NextActivity = this };

View File

@@ -58,9 +58,9 @@ namespace OpenRA.Mods.RA.Activities
if (oldHealth != null && newHealth != null)
newHealth.HPFraction = oldHealth.HPFraction;
var move = a.traits.GetOrDefault<IMove>();
if (move != null)
move.Facing = facing;
var ifacing = a.traits.GetOrDefault<IFacing>();
if (ifacing != null)
ifacing.Facing = facing;
if (selected)
w.Selection.Add(w, a);

View File

@@ -44,9 +44,9 @@ namespace OpenRA.Mods.RA.Activities
// if we're a thing that can turn, turn to the
// right facing for the unload animation
var move = self.traits.GetOrDefault<IMove>();
var facing = self.traits.GetOrDefault<IFacing>();
var unloadFacing = self.Info.Traits.Get<CargoInfo>().UnloadFacing;
if (move != null && move.Facing != unloadFacing)
if (facing != null && facing.Facing != unloadFacing)
return new Turn(unloadFacing) { NextActivity = this };
// todo: handle the BS of open/close sequences, which are inconsistent,