Don't require a WorldRenderer to draw non-world-rendering widgets.
This commit is contained in:
@@ -22,13 +22,16 @@ namespace OpenRA.Widgets
|
||||
public Func<string> GetImage;
|
||||
public Func<int> GetFrame;
|
||||
public Func<string> GetPalette;
|
||||
|
||||
public ShpImageWidget()
|
||||
|
||||
readonly WorldRenderer worldRenderer;
|
||||
[ObjectCreator.UseCtor]
|
||||
public ShpImageWidget([ObjectCreator.Param] WorldRenderer worldRenderer)
|
||||
: base()
|
||||
{
|
||||
GetImage = () => { return Image; };
|
||||
GetFrame = () => { return Frame; };
|
||||
GetPalette = () => { return Palette; };
|
||||
GetPalette = () => { return Palette; };
|
||||
this.worldRenderer = worldRenderer;
|
||||
}
|
||||
|
||||
protected ShpImageWidget(ShpImageWidget other)
|
||||
@@ -39,7 +42,8 @@ namespace OpenRA.Widgets
|
||||
Palette = other.Palette;
|
||||
GetImage = other.GetImage;
|
||||
GetFrame = other.GetFrame;
|
||||
GetPalette = other.GetPalette;
|
||||
GetPalette = other.GetPalette;
|
||||
worldRenderer = other.worldRenderer;
|
||||
}
|
||||
|
||||
public override Widget Clone() { return new ShpImageWidget(this); }
|
||||
@@ -48,7 +52,7 @@ namespace OpenRA.Widgets
|
||||
Sprite sprite = null;
|
||||
string cachedImage = null;
|
||||
int cachedFrame= -1;
|
||||
public override void DrawInner( WorldRenderer wr )
|
||||
public override void DrawInner()
|
||||
{
|
||||
var image = GetImage();
|
||||
var frame = GetFrame();
|
||||
@@ -60,8 +64,7 @@ namespace OpenRA.Widgets
|
||||
cachedImage = image;
|
||||
cachedFrame = frame;
|
||||
}
|
||||
|
||||
Game.Renderer.WorldSpriteRenderer.DrawSprite(sprite,RenderOrigin, wr, palette);
|
||||
Game.Renderer.WorldSpriteRenderer.DrawSprite(sprite,RenderOrigin, worldRenderer, palette);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user