git-svn-id: svn://svn.ijw.co.nz/svn/OpenRa@1342 993157c7-ee19-0410-b2c4-bb4e9862e678
This commit is contained in:
@@ -15,7 +15,7 @@ namespace OpenRa.Game
|
|||||||
this.owner = owner;
|
this.owner = owner;
|
||||||
|
|
||||||
animation = new Animation( name );
|
animation = new Animation( name );
|
||||||
animation.PlayThen( "make", delegate { animation.Play( "idle" ); } );
|
animation.PlayThen( "make", delegate { animation.PlayRepeating( "idle" ); } );
|
||||||
owner.TechTree.Build( name, true );
|
owner.TechTree.Build( name, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,7 @@
|
|||||||
<Compile Include="TerrainRenderer.cs" />
|
<Compile Include="TerrainRenderer.cs" />
|
||||||
<Compile Include="Tree.cs" />
|
<Compile Include="Tree.cs" />
|
||||||
<Compile Include="TreeCache.cs" />
|
<Compile Include="TreeCache.cs" />
|
||||||
|
<Compile Include="UiOverlay.cs" />
|
||||||
<Compile Include="Unit.cs" />
|
<Compile Include="Unit.cs" />
|
||||||
<Compile Include="UnitSheetBuilder.cs" />
|
<Compile Include="UnitSheetBuilder.cs" />
|
||||||
<Compile Include="Util.cs" />
|
<Compile Include="Util.cs" />
|
||||||
|
|||||||
@@ -73,9 +73,12 @@ namespace OpenRa.Game
|
|||||||
DrawSprite(blank, ref p);
|
DrawSprite(blank, ref p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int buildPos = 0;
|
||||||
|
int unitPos = 0;
|
||||||
|
|
||||||
void PopulateItemList()
|
void PopulateItemList()
|
||||||
{
|
{
|
||||||
int buildPos = 0, unitPos = 0;
|
buildPos = 0; unitPos = 0;
|
||||||
|
|
||||||
items.Clear();
|
items.Clear();
|
||||||
|
|
||||||
@@ -100,7 +103,10 @@ namespace OpenRa.Game
|
|||||||
foreach (SidebarItem i in items)
|
foreach (SidebarItem i in items)
|
||||||
i.Paint(spriteRenderer, region.Location);
|
i.Paint(spriteRenderer, region.Location);
|
||||||
|
|
||||||
spriteRenderer.Flush(); //todo: fix filling
|
Fill(region.Size.Y, new float2(region.Location.X, buildPos + region.Location.Y));
|
||||||
|
Fill(region.Size.Y, new float2(region.Location.X + spriteWidth, unitPos + region.Location.Y));
|
||||||
|
|
||||||
|
spriteRenderer.Flush();
|
||||||
|
|
||||||
clockRenderer.DrawSprite( clockAnimation.Images[0], region.Location, 0 );
|
clockRenderer.DrawSprite( clockAnimation.Images[0], region.Location, 0 );
|
||||||
clockAnimation.Tick(1);
|
clockAnimation.Tick(1);
|
||||||
|
|||||||
42
OpenRa.Game/UiOverlay.cs
Normal file
42
OpenRa.Game/UiOverlay.cs
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace OpenRa.Game
|
||||||
|
{
|
||||||
|
class UiOverlay
|
||||||
|
{
|
||||||
|
SpriteRenderer spriteRenderer;
|
||||||
|
Sprite buildOk;
|
||||||
|
Sprite buildBlocked;
|
||||||
|
Game game;
|
||||||
|
|
||||||
|
public UiOverlay(SpriteRenderer spriteRenderer, Game game)
|
||||||
|
{
|
||||||
|
this.spriteRenderer = spriteRenderer;
|
||||||
|
this.game = game;
|
||||||
|
|
||||||
|
buildOk = SynthesizeTile(0x80);
|
||||||
|
buildBlocked = SynthesizeTile(0xe6);
|
||||||
|
}
|
||||||
|
|
||||||
|
Sprite SynthesizeTile(byte paletteIndex)
|
||||||
|
{
|
||||||
|
byte[] data = new byte[24 * 24];
|
||||||
|
|
||||||
|
for (int i = 0; i < 24; i++)
|
||||||
|
for (int j = 0; j < 24; j++)
|
||||||
|
data[i * 24 + j] = ((i + j) % 4 < 2) ? (byte)0 : paletteIndex;
|
||||||
|
|
||||||
|
return SheetBuilder.Add( data, new Size(24,24) );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Draw()
|
||||||
|
{
|
||||||
|
spriteRenderer.DrawSprite(buildOk, new float2(48, 48), 0);
|
||||||
|
spriteRenderer.DrawSprite(buildBlocked, new float2(96, 48), 0);
|
||||||
|
spriteRenderer.Flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -16,6 +16,7 @@ namespace OpenRa.Game
|
|||||||
Game game;
|
Game game;
|
||||||
Region region;
|
Region region;
|
||||||
public IOrderGenerator orderGenerator;
|
public IOrderGenerator orderGenerator;
|
||||||
|
UiOverlay uiOverlay;
|
||||||
|
|
||||||
public World(Renderer renderer, Game game)
|
public World(Renderer renderer, Game game)
|
||||||
{
|
{
|
||||||
@@ -24,6 +25,8 @@ namespace OpenRa.Game
|
|||||||
game.viewport.AddRegion(region);
|
game.viewport.AddRegion(region);
|
||||||
|
|
||||||
spriteRenderer = new SpriteRenderer(renderer, true);
|
spriteRenderer = new SpriteRenderer(renderer, true);
|
||||||
|
|
||||||
|
uiOverlay = new UiOverlay(spriteRenderer, game);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Add(Actor a) { actors.Add(a); }
|
public void Add(Actor a) { actors.Add(a); }
|
||||||
@@ -73,6 +76,7 @@ namespace OpenRa.Game
|
|||||||
}
|
}
|
||||||
frameEndActions.Clear();
|
frameEndActions.Clear();
|
||||||
|
|
||||||
|
uiOverlay.Draw();
|
||||||
spriteRenderer.Flush();
|
spriteRenderer.Flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,8 +67,8 @@
|
|||||||
<!-- soviet barracks -->
|
<!-- soviet barracks -->
|
||||||
|
|
||||||
<unit name="barr">
|
<unit name="barr">
|
||||||
<sequence name="idle" start="0"/>
|
<sequence name="idle" start="0" length="10"/>
|
||||||
<sequence name="damaged-idle" start="1"/>
|
<sequence name="damaged-idle" start="10" length="10"/>
|
||||||
<sequence name="make" start="0" length="*" src="barrmake" />
|
<sequence name="make" start="0" length="*" src="barrmake" />
|
||||||
</unit>
|
</unit>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user