skip 'make' animation for mapunits
This commit is contained in:
@@ -21,8 +21,12 @@ namespace OpenRa.Game
|
||||
public int2 Location;
|
||||
public Player Owner;
|
||||
public int Health;
|
||||
public readonly bool IsMapActor;
|
||||
|
||||
public Actor( string name, int2 location, Player owner )
|
||||
public Actor(string name, int2 location, Player owner)
|
||||
: this( name, location, owner, false ) {}
|
||||
|
||||
public Actor( string name, int2 location, Player owner, bool isMapActor )
|
||||
{
|
||||
ActorID = Game.world.NextAID();
|
||||
unitInfo = Rules.UnitInfo[ name ];
|
||||
@@ -30,6 +34,7 @@ namespace OpenRa.Game
|
||||
CenterLocation = new float2( 12, 12 ) + Game.CellSize * (float2)Location;
|
||||
Owner = owner;
|
||||
Health = unitInfo.Strength; /* todo: handle cases where this is not true! */
|
||||
IsMapActor = isMapActor;
|
||||
|
||||
if( unitInfo.Traits != null )
|
||||
{
|
||||
|
||||
@@ -87,7 +87,7 @@ namespace OpenRa.Game
|
||||
//num=owner,type,health,location,facing,trigger,unknown,shouldRepair
|
||||
var parts = s.Value.ToLowerInvariant().Split( ',' );
|
||||
var loc = int.Parse( parts[ 3 ] );
|
||||
world.Add( new Actor( parts[ 1 ], new int2( loc % 128, loc / 128 ), players[ 0 ] ) );
|
||||
world.Add( new Actor( parts[ 1 ], new int2( loc % 128, loc / 128 ), players[ 0 ], true ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ namespace OpenRa.Game
|
||||
//num=owner,type,health,location,facing,action,trigger
|
||||
var parts = s.Value.ToLowerInvariant().Split( ',' );
|
||||
var loc = int.Parse( parts[ 3 ] );
|
||||
world.Add( new Actor( parts[ 1 ], new int2( loc % 128, loc / 128 ), players[ 0 ] ) );
|
||||
world.Add( new Actor( parts[ 1 ], new int2( loc % 128, loc / 128 ), players[ 0 ], true ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,13 +18,16 @@ namespace OpenRa.Game.Traits
|
||||
public RenderBuilding(Actor self)
|
||||
: base(self)
|
||||
{
|
||||
if (self.IsMapActor)
|
||||
anim.PlayRepeating("idle");
|
||||
else
|
||||
anim.PlayThen("make", () => anim.PlayRepeating("idle"));
|
||||
|
||||
DoBib(self, false);
|
||||
}
|
||||
|
||||
void DoBib(Actor self, bool isRemove)
|
||||
{
|
||||
// at this point, we already know where we are, so we can safely place the bib in the smudge
|
||||
var buildingInfo = (UnitInfo.BuildingInfo)self.unitInfo;
|
||||
if (buildingInfo.Bib)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user