remove Game.skipMakeAnims
This commit is contained in:
@@ -41,8 +41,6 @@ namespace OpenRA
|
||||
|
||||
internal static OrderManager orderManager;
|
||||
|
||||
public static bool skipMakeAnims = true;
|
||||
|
||||
public static XRandom CosmeticRandom = new XRandom(); // not synced
|
||||
|
||||
public static Renderer Renderer;
|
||||
|
||||
@@ -17,20 +17,21 @@ namespace OpenRA.Mods.RA.Render
|
||||
public class RenderBuildingInfo : RenderSimpleInfo
|
||||
{
|
||||
public readonly bool HasMakeAnimation = true;
|
||||
public override object Create(ActorInitializer init) { return new RenderBuilding(init.self);}
|
||||
public override object Create(ActorInitializer init) { return new RenderBuilding(init);}
|
||||
}
|
||||
|
||||
public class RenderBuilding : RenderSimple, INotifyDamage, INotifySold
|
||||
{
|
||||
public RenderBuilding( Actor self )
|
||||
: this( self, () => 0 )
|
||||
public RenderBuilding( ActorInitializer init )
|
||||
: this( init, () => 0 )
|
||||
{
|
||||
}
|
||||
|
||||
public RenderBuilding(Actor self, Func<int> baseFacing)
|
||||
: base(self, baseFacing)
|
||||
public RenderBuilding( ActorInitializer init, Func<int> baseFacing )
|
||||
: base(init.self, baseFacing)
|
||||
{
|
||||
if( Game.skipMakeAnims || !self.Info.Traits.Get<RenderBuildingInfo>().HasMakeAnimation )
|
||||
var self = init.self;
|
||||
if( init.Contains<SkipMakeAnimsInit>() || !self.Info.Traits.Get<RenderBuildingInfo>().HasMakeAnimation )
|
||||
anim.PlayThen( "idle", () => self.World.AddFrameEndTask( _ => Complete( self ) ) );
|
||||
else
|
||||
anim.PlayThen( "make", () => self.World.AddFrameEndTask( _ => Complete( self ) ) );
|
||||
@@ -74,7 +75,7 @@ namespace OpenRA.Mods.RA.Render
|
||||
|
||||
public void Selling( Actor self )
|
||||
{
|
||||
if( !Game.skipMakeAnims && self.Info.Traits.Get<RenderBuildingInfo>().HasMakeAnimation )
|
||||
if( self.Info.Traits.Get<RenderBuildingInfo>().HasMakeAnimation )
|
||||
anim.PlayBackwardsThen( "make", null );
|
||||
|
||||
foreach (var s in self.Info.Traits.Get<BuildingInfo>().SellSounds)
|
||||
|
||||
@@ -13,14 +13,14 @@ namespace OpenRA.Mods.RA.Render
|
||||
class RenderBuildingChargeInfo : RenderBuildingInfo
|
||||
{
|
||||
public readonly string ChargeAudio = "tslachg2.aud";
|
||||
public override object Create(ActorInitializer init) { return new RenderBuildingCharge(init.self); }
|
||||
public override object Create(ActorInitializer init) { return new RenderBuildingCharge(init); }
|
||||
}
|
||||
|
||||
/* used for tesla */
|
||||
public class RenderBuildingCharge : RenderBuilding
|
||||
{
|
||||
public RenderBuildingCharge(Actor self)
|
||||
: base(self)
|
||||
public RenderBuildingCharge( ActorInitializer init )
|
||||
: base(init)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -14,13 +14,13 @@ namespace OpenRA.Mods.RA.Render
|
||||
{
|
||||
class RenderBuildingOreInfo : RenderBuildingInfo
|
||||
{
|
||||
public override object Create(ActorInitializer init) { return new RenderBuildingOre(init.self); }
|
||||
public override object Create(ActorInitializer init) { return new RenderBuildingOre(init); }
|
||||
}
|
||||
|
||||
class RenderBuildingOre : RenderBuilding, INotifyBuildComplete
|
||||
{
|
||||
public RenderBuildingOre(Actor self)
|
||||
: base(self)
|
||||
public RenderBuildingOre( ActorInitializer init )
|
||||
: base(init)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -14,13 +14,13 @@ namespace OpenRA.Mods.RA.Render
|
||||
{
|
||||
class RenderBuildingTurretedInfo : RenderBuildingInfo
|
||||
{
|
||||
public override object Create(ActorInitializer init) { return new RenderBuildingTurreted(init.self); }
|
||||
public override object Create(ActorInitializer init) { return new RenderBuildingTurreted( init ); }
|
||||
}
|
||||
|
||||
class RenderBuildingTurreted : RenderBuilding, INotifyBuildComplete
|
||||
{
|
||||
public RenderBuildingTurreted(Actor self)
|
||||
: base(self, () => self.Trait<Turreted>().turretFacing)
|
||||
public RenderBuildingTurreted( ActorInitializer init )
|
||||
: base(init, () => init.self.Trait<Turreted>().turretFacing)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace OpenRA.Mods.RA.Render
|
||||
{
|
||||
class RenderBuildingWallInfo : RenderBuildingInfo
|
||||
{
|
||||
public override object Create(ActorInitializer init) { return new RenderBuildingWall(init.self); }
|
||||
public override object Create(ActorInitializer init) { return new RenderBuildingWall(init); }
|
||||
}
|
||||
|
||||
class RenderBuildingWall : RenderBuilding
|
||||
@@ -23,8 +23,8 @@ namespace OpenRA.Mods.RA.Render
|
||||
string seqName;
|
||||
int adjacentWalls = 0;
|
||||
|
||||
public RenderBuildingWall(Actor self)
|
||||
: base(self)
|
||||
public RenderBuildingWall( ActorInitializer init )
|
||||
: base(init)
|
||||
{
|
||||
seqName = "idle";
|
||||
anim.PlayFetchIndex(seqName, () => adjacentWalls);
|
||||
|
||||
@@ -22,12 +22,16 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
public void GameStarted(World world)
|
||||
{
|
||||
Game.skipMakeAnims = true; // rude hack
|
||||
|
||||
foreach (var actorReference in world.Map.Actors)
|
||||
Actors[actorReference.Key] = world.CreateActor(actorReference.Value.Type, actorReference.Value.InitDict);
|
||||
|
||||
Game.skipMakeAnims = false;
|
||||
foreach( var actorReference in world.Map.Actors )
|
||||
{
|
||||
var initDict = actorReference.Value.InitDict;
|
||||
initDict.Add( new SkipMakeAnimsInit() );
|
||||
Actors[ actorReference.Key ] = world.CreateActor( actorReference.Value.Type, initDict );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class SkipMakeAnimsInit : IActorInit
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user