Fix bogus silo/wall rendering
This commit is contained in:
@@ -64,12 +64,10 @@ namespace OpenRA.Mods.RA.Render
|
|||||||
anim.PlayRepeating( NormalizeSequence(self, "idle") );
|
anim.PlayRepeating( NormalizeSequence(self, "idle") );
|
||||||
|
|
||||||
if (self.Info.Traits.Get<RenderBuildingInfo>().HasMakeAnimation && !init.Contains<SkipMakeAnimsInit>())
|
if (self.Info.Traits.Get<RenderBuildingInfo>().HasMakeAnimation && !init.Contains<SkipMakeAnimsInit>())
|
||||||
{
|
|
||||||
self.QueueActivity(new MakeAnimation(self));
|
self.QueueActivity(new MakeAnimation(self));
|
||||||
self.QueueActivity(new CallFunc(() => self.World.AddFrameEndTask( _ => Complete( self ) )));
|
|
||||||
}
|
// Can't call Complete() from ctor because other traits haven't been inited yet
|
||||||
else
|
self.QueueActivity(new CallFunc(() => self.World.AddFrameEndTask( _ => Complete( self ) )));
|
||||||
Complete( self );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Complete( Actor self )
|
void Complete( Actor self )
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.RA.Render
|
|||||||
public override object Create(ActorInitializer init) { return new RenderBuildingWall(init); }
|
public override object Create(ActorInitializer init) { return new RenderBuildingWall(init); }
|
||||||
}
|
}
|
||||||
|
|
||||||
class RenderBuildingWall : RenderBuilding
|
class RenderBuildingWall : RenderBuilding, INotifyBuildComplete
|
||||||
{
|
{
|
||||||
string seqName;
|
string seqName;
|
||||||
int adjacentWalls = 0;
|
int adjacentWalls = 0;
|
||||||
@@ -28,6 +28,10 @@ namespace OpenRA.Mods.RA.Render
|
|||||||
: base(init)
|
: base(init)
|
||||||
{
|
{
|
||||||
seqName = "idle";
|
seqName = "idle";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void BuildingComplete( Actor self )
|
||||||
|
{
|
||||||
anim.PlayFetchIndex(seqName, () => adjacentWalls);
|
anim.PlayFetchIndex(seqName, () => adjacentWalls);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user