Pass WorldRenderer to IRenderModifiers and replace more palette lookups.

This commit is contained in:
Paul Chote
2013-02-24 12:15:28 +13:00
parent 48d713aafd
commit 000a5eaa56
17 changed files with 40 additions and 32 deletions

View File

@@ -97,23 +97,23 @@ namespace OpenRA.Mods.RA
return Level > 0 ? Info.SpeedModifier[Level - 1] : 1m;
}
public IEnumerable<Renderable> ModifyRender(Actor self, IEnumerable<Renderable> rs)
public IEnumerable<Renderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<Renderable> r)
{
if (self.Owner == self.World.LocalPlayer && Level > 0)
return InnerModifyRender(self, rs);
return InnerModifyRender(self, wr, r);
else
return rs;
return r;
}
IEnumerable<Renderable> InnerModifyRender(Actor self, IEnumerable<Renderable> rs)
IEnumerable<Renderable> InnerModifyRender(Actor self, WorldRenderer wr, IEnumerable<Renderable> r)
{
foreach (var r in rs)
yield return r;
foreach (var rs in r)
yield return rs;
RankAnim.Tick(); // HACK
var bounds = self.Bounds.Value;
yield return new Renderable(RankAnim.Image, new float2(bounds.Right - 6, bounds.Bottom - 8),
PaletteReference.FromName("effect"), self.CenterLocation.Y);
wr.Palette("effect"), self.CenterLocation.Y);
}
}