more chrome

This commit is contained in:
Chris Forbes
2009-11-16 19:12:58 +13:00
parent 3b48b90841
commit 95e26c7147
3 changed files with 28 additions and 2 deletions

View File

@@ -26,6 +26,13 @@ namespace OpenRa.Game
specialBinSprite = new Sprite(specialBin, new Rectangle(0, 0, 64, 256), TextureChannel.Alpha);
moneyBinSprite = new Sprite(specialBin, new Rectangle(128, 0, 384, 64), TextureChannel.Alpha);
sprites = groups
.SelectMany(g => Rules.Categories[g])
.Where(u => Rules.UnitInfo[u].TechLevel != -1)
.ToDictionary(
u => u,
u => SpriteSheetBuilder.LoadSprite(u + "icon", ".shp"));
}
public void Draw()
@@ -45,14 +52,33 @@ namespace OpenRa.Game
chromeRenderer.DrawSprite(specialBinSprite, float2.Zero, 0);
chromeRenderer.DrawSprite(moneyBinSprite, new float2( Game.viewport.Width - 384, 0 ), 0);
chromeRenderer.Flush();
DrawBuildPalette("Building");
}
static string[] groups = new string[] { "Building", "Vehicle", "Ship", "Infantry", "Plane" };
Dictionary<string, Sprite> sprites;
void DrawBuildPalette(string queueName)
{
var buildItem = Game.LocalPlayer.Producing(queueName);
var x = 0;
var y = 0;
foreach (var item in Rules.TechTree.BuildableItems(Game.LocalPlayer, queueName))
{
buildPaletteRenderer.DrawSprite(sprites[item],
new float2(
Game.viewport.Width - (3 - x) * 64 - 20,
32 + 48 * y), 0);
if (++x == 3)
{
x = 0; y++;
}
}
buildPaletteRenderer.Flush();
}
}
}

View File

@@ -81,7 +81,7 @@ namespace OpenRa.Game
sounds = new Cache<string, ISoundSource>(LoadSound);
orderManager = (Replay == "")
? new OrderManager(new OrderSource[] { new LocalOrderSource(), new NetworkOrderSource( new TcpClient( "127.0.0.1", 1234 ) ) }, "replay.rep")
? new OrderManager(new OrderSource[] { new LocalOrderSource(), new NetworkOrderSource( new TcpClient( "127.0.0.1", 1235 ) ) }, "replay.rep")
: new OrderManager(new OrderSource[] { new ReplayOrderSource( Replay ) });
PlaySound("intro.aud", false);

View File

@@ -15,7 +15,7 @@ namespace OpenRa.Game
List<OrderSource> players;
int frameNumber = 0;
const int FramesAhead = 3;
const int FramesAhead = 10;
public int FrameNumber { get { return frameNumber; } }