git-svn-id: svn://svn.ijw.co.nz/svn/OpenRa@1281 993157c7-ee19-0410-b2c4-bb4e9862e678

This commit is contained in:
(no author)
2007-07-15 18:38:44 +00:00
parent 0a6eaeb26f
commit a93426a77f
2 changed files with 14 additions and 23 deletions

View File

@@ -72,32 +72,26 @@ namespace OpenRa.Game
public override void Tick( double t )
{
if (currentOrder == null)
if( currentOrder == null )
return;
if (float2.WithinEpsilon(location, currentOrder.Destination, 1.0f))
if( float2.WithinEpsilon( location, currentOrder.Destination, 1.0f ) )
return;
Range<float2> r = new Range<float2>(
new float2(-Speed * (float)t, -Speed * (float)t),
new float2(Speed * (float)t, Speed * (float)t));
new float2( -Speed * (float)t, -Speed * (float)t ),
new float2( Speed * (float)t, Speed * (float)t ) );
float2 d = (currentOrder.Destination - location).Constrain(r);
float2 d = ( currentOrder.Destination - location ).Constrain( r );
int desiredFacing = GetFacing(d);
if (desiredFacing == facing)
int desiredFacing = GetFacing( d );
int df = (desiredFacing - facing + 32) % 32;
if( df == 0 )
location += d;
else if( df > 16 )
facing = ( facing + 31 ) % 32;
else
{
int df = desiredFacing - facing;
if (df < 0)
df = 32 - df;
if (df < 32 - df)
facing = (facing + 1) % 32;
else
facing = (facing + 31) % 32;
}
facing = ( facing + 1 ) % 32;
}
}
}