Add new map editor UI.

This commit is contained in:
Paul Chote
2015-04-06 14:57:13 +01:00
parent d211fe9fe1
commit 469f47aeea
28 changed files with 2142 additions and 11 deletions

View File

@@ -16,6 +16,7 @@ namespace OpenRA.Mods.Common.Widgets
{
public class SpriteWidget : Widget
{
public Func<float> GetScale = () => 1f;
public string Palette = "chrome";
public Func<string> GetPalette;
public Func<Sprite> GetSprite;
@@ -44,6 +45,7 @@ namespace OpenRA.Mods.Common.Widgets
Sprite cachedSprite = null;
string cachedPalette = null;
float cachedScale;
PaletteReference pr;
float2 offset = float2.Zero;
@@ -51,6 +53,7 @@ namespace OpenRA.Mods.Common.Widgets
{
var sprite = GetSprite();
var palette = GetPalette();
var scale = GetScale();
if (sprite == null || palette == null)
return;
@@ -67,7 +70,14 @@ namespace OpenRA.Mods.Common.Widgets
cachedPalette = palette;
}
Game.Renderer.SpriteRenderer.DrawSprite(sprite, RenderOrigin + offset, pr);
if (scale != cachedScale)
{
offset *= scale;
cachedScale = scale;
}
var size = new float2(sprite.Size.X * scale, sprite.Size.Y * scale);
Game.Renderer.SpriteRenderer.DrawSprite(sprite, RenderOrigin + offset, pr, size);
}
}
}