Fixed specialised buildings not having their power requirements added/subtracted.

This commit is contained in:
Matthew Bowra-Dean
2009-11-09 23:07:35 +13:00
parent cfd99b5250
commit 0040db61cd
4 changed files with 14 additions and 9 deletions

View File

@@ -21,19 +21,24 @@ namespace OpenRa.Game.Traits
Make(() => Make(() =>
{ {
anim.PlayRepeating("idle"); anim.PlayRepeating("idle");
foreach (var x in self.traits.WithInterface<INotifyBuildComplete>()) }, self);
x.BuildingComplete(self);
});
DoBib(self, false); DoBib(self, false);
} }
protected void Make( Action after ) protected void Make( Action after, Actor self )
{ {
if (Game.skipMakeAnims) Action newAfter = () =>
{
after(); after();
foreach (var x in self.traits.WithInterface<INotifyBuildComplete>())
x.BuildingComplete(self);
};
if (Game.skipMakeAnims)
newAfter();
else else
anim.PlayThen("make", after); anim.PlayThen("make", newAfter);
} }
void DoBib(Actor self, bool isRemove) void DoBib(Actor self, bool isRemove)

View File

@@ -11,7 +11,7 @@ namespace OpenRa.Game.Traits
: base(self) : base(self)
{ {
Make( () => anim.PlayFetchIndex("idle", Make( () => anim.PlayFetchIndex("idle",
() => (int)(5 * self.Owner.GetSiloFullness()))); () => (int)(5 * self.Owner.GetSiloFullness())), self);
} }
} }
} }

View File

@@ -10,7 +10,7 @@ namespace OpenRa.Game.Traits
public RenderBuildingTurreted(Actor self) public RenderBuildingTurreted(Actor self)
: base(self) : base(self)
{ {
Make( () => PlayTurretAnim( self, "idle" )); Make( () => PlayTurretAnim( self, "idle" ), self);
} }
void PlayTurretAnim(Actor self, string a) void PlayTurretAnim(Actor self, string a)

View File

@@ -26,7 +26,7 @@ namespace OpenRa.Game.Traits
doneBuilding = true; doneBuilding = true;
anim.Play("idle"); anim.Play("idle");
roof.Play(prefix + "idle-top"); roof.Play(prefix + "idle-top");
}); }, self);
} }
public IEnumerable<Pair<Sprite, float2>> RenderRoof(Actor self) public IEnumerable<Pair<Sprite, float2>> RenderRoof(Actor self)