Cache IFacing in Turn activity
Instead of looking it up every tick.
This commit is contained in:
@@ -18,11 +18,13 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
public class Turn : Activity
|
public class Turn : Activity
|
||||||
{
|
{
|
||||||
readonly IDisabledTrait disablable;
|
readonly IDisabledTrait disablable;
|
||||||
|
readonly IFacing facing;
|
||||||
readonly int desiredFacing;
|
readonly int desiredFacing;
|
||||||
|
|
||||||
public Turn(Actor self, int desiredFacing)
|
public Turn(Actor self, int desiredFacing)
|
||||||
{
|
{
|
||||||
disablable = self.TraitOrDefault<IMove>() as IDisabledTrait;
|
disablable = self.TraitOrDefault<IMove>() as IDisabledTrait;
|
||||||
|
facing = self.Trait<IFacing>();
|
||||||
this.desiredFacing = desiredFacing;
|
this.desiredFacing = desiredFacing;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,8 +35,6 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
if (disablable != null && disablable.IsTraitDisabled)
|
if (disablable != null && disablable.IsTraitDisabled)
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
var facing = self.Trait<IFacing>();
|
|
||||||
|
|
||||||
if (desiredFacing == facing.Facing)
|
if (desiredFacing == facing.Facing)
|
||||||
return NextActivity;
|
return NextActivity;
|
||||||
facing.Facing = Util.TickFacing(facing.Facing, desiredFacing, facing.TurnSpeed);
|
facing.Facing = Util.TickFacing(facing.Facing, desiredFacing, facing.TurnSpeed);
|
||||||
|
|||||||
Reference in New Issue
Block a user