remove Renderer.Resolution duplication everywhere -- it's not free.

This commit is contained in:
Chris Forbes
2011-05-22 21:38:54 +12:00
parent 5ad2c43761
commit 4b12a19af0

View File

@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Cnc
{ {
public class CncLoadScreen : ILoadScreen public class CncLoadScreen : ILoadScreen
{ {
Dictionary<string,string> Info; Dictionary<string, string> Info;
Stopwatch loadTimer = new Stopwatch(); Stopwatch loadTimer = new Stopwatch();
Sprite[] ss; Sprite[] ss;
string text; string text;
@@ -38,8 +38,10 @@ namespace OpenRA.Mods.Cnc
r = Game.Renderer; r = Game.Renderer;
if (r == null) return; if (r == null) return;
var res = Renderer.Resolution;
var s = new Sheet("mods/cnc/uibits/chrome.png"); var s = new Sheet("mods/cnc/uibits/chrome.png");
Bounds = new Rectangle(0,0,Renderer.Resolution.Width, Renderer.Resolution.Height); Bounds = new Rectangle(0, 0, res.Width, res.Height);
ss = new Sprite[] ss = new Sprite[]
{ {
new Sprite(s, new Rectangle(161,128,62,33), TextureChannel.Alpha), new Sprite(s, new Rectangle(161,128,62,33), TextureChannel.Alpha),
@@ -51,15 +53,15 @@ namespace OpenRA.Mods.Cnc
new Sprite(s, new Rectangle(128,223,33,33), TextureChannel.Alpha), new Sprite(s, new Rectangle(128,223,33,33), TextureChannel.Alpha),
new Sprite(s, new Rectangle(223,223,33,33), TextureChannel.Alpha) new Sprite(s, new Rectangle(223,223,33,33), TextureChannel.Alpha)
}; };
nodLogo = new Sprite(s, new Rectangle(0,256,256,256), TextureChannel.Alpha); nodLogo = new Sprite(s, new Rectangle(0, 256, 256, 256), TextureChannel.Alpha);
gdiLogo = new Sprite(s, new Rectangle(256,256,256,256), TextureChannel.Alpha); gdiLogo = new Sprite(s, new Rectangle(256, 256, 256, 256), TextureChannel.Alpha);
evaLogo = new Sprite(s, new Rectangle(256,64,128,64), TextureChannel.Alpha); evaLogo = new Sprite(s, new Rectangle(256, 64, 128, 64), TextureChannel.Alpha);
nodPos = new float2(Renderer.Resolution.Width/2 - 384, Renderer.Resolution.Height/2 - 128); nodPos = new float2(res.Width / 2 - 384, res.Height / 2 - 128);
gdiPos = new float2(Renderer.Resolution.Width/2 + 128, Renderer.Resolution.Height/2 - 128); gdiPos = new float2(res.Width / 2 + 128, res.Height / 2 - 128);
evaPos = new float2(Renderer.Resolution.Width-43-128, 43); evaPos = new float2(res.Width - 43 - 128, 43);
brightBlock = new Sprite(s, new Rectangle(320,0,16,35), TextureChannel.Alpha); brightBlock = new Sprite(s, new Rectangle(320, 0, 16, 35), TextureChannel.Alpha);
dimBlock = new Sprite(s, new Rectangle(336,0,16,35), TextureChannel.Alpha); dimBlock = new Sprite(s, new Rectangle(336, 0, 16, 35), TextureChannel.Alpha);
} }
public void Display() public void Display()
@@ -74,24 +76,26 @@ namespace OpenRA.Mods.Cnc
r.RgbaSpriteRenderer.DrawSprite(nodLogo, nodPos); r.RgbaSpriteRenderer.DrawSprite(nodLogo, nodPos);
r.RgbaSpriteRenderer.DrawSprite(evaLogo, evaPos); r.RgbaSpriteRenderer.DrawSprite(evaLogo, evaPos);
var res = Renderer.Resolution;
WidgetUtils.DrawPanelPartial(ss, Bounds, PanelSides.Edges); WidgetUtils.DrawPanelPartial(ss, Bounds, PanelSides.Edges);
var barY = Renderer.Resolution.Height-78; var barY = res.Height - 78;
text = "Loading"; text = "Loading";
var textSize = r.Fonts["BigBold"].Measure(text); var textSize = r.Fonts["BigBold"].Measure(text);
textPos = new float2((Renderer.Resolution.Width - textSize.X) / 2, barY); textPos = new float2((res.Width - textSize.X) / 2, barY);
r.Fonts["BigBold"].DrawText(text, textPos, Color.Gray); r.Fonts["BigBold"].DrawText(text, textPos, Color.Gray);
for (var i = 0; i <= 8; i++) for (var i = 0; i <= 8; i++)
{ {
var block = loadTick == i ? brightBlock : dimBlock; var block = loadTick == i ? brightBlock : dimBlock;
r.RgbaSpriteRenderer.DrawSprite(block, r.RgbaSpriteRenderer.DrawSprite(block,
new float2(Renderer.Resolution.Width/2 - 114 - i*32, barY)); new float2(res.Width / 2 - 114 - i * 32, barY));
r.RgbaSpriteRenderer.DrawSprite(block, r.RgbaSpriteRenderer.DrawSprite(block,
new float2(Renderer.Resolution.Width/2 + 114 + i*32-16, barY)); new float2(res.Width / 2 + 114 + i * 32 - 16, barY));
} }
r.EndFrame( nih ); r.EndFrame(nih);
} }
public void StartGame() public void StartGame()