Pass WorldRenderer to Render().

This commit is contained in:
Paul Chote
2013-02-24 14:17:41 +13:00
parent d6fcaafd78
commit 3380817865
11 changed files with 27 additions and 23 deletions

View File

@@ -78,17 +78,17 @@ namespace OpenRA.Traits
anim.PlayRepeating("idle");
}
public PaletteReference Palette(Player p)
public PaletteReference Palette(Player p, WorldRenderer wr)
{
return PaletteReference.FromName(Info.Palette ?? Info.PlayerPalette + p.InternalName);
return wr.Palette(Info.Palette ?? Info.PlayerPalette + p.InternalName);
}
public virtual IEnumerable<Renderable> Render(Actor self)
public virtual IEnumerable<Renderable> Render(Actor self, WorldRenderer wr)
{
foreach (var a in anims.Values)
if (a.DisableFunc == null || !a.DisableFunc())
{
Renderable ret = a.Image(self, Palette(self.Owner));
Renderable ret = a.Image(self, Palette(self.Owner, wr));
if (Info.Scale != 1f)
ret = ret.WithScale(Info.Scale).WithPos(ret.Pos + 0.5f * ret.Sprite.size * (1 - Info.Scale));
yield return ret;

View File

@@ -34,7 +34,7 @@ namespace OpenRA.Traits
}
public interface ITick { void Tick(Actor self); }
public interface IRender { IEnumerable<Renderable> Render(Actor self); }
public interface IRender { IEnumerable<Renderable> Render(Actor self, WorldRenderer wr); }
public interface IAutoSelectionSize { int2 SelectionSize(Actor self); }
public interface IIssueOrder