fixed the roof of the WEAP. we'll still need to do the z-order for it.

This commit is contained in:
Chris Forbes
2009-10-06 19:58:20 +13:00
parent e4c3c7e5af
commit 924c515f57
4 changed files with 49 additions and 9 deletions

View File

@@ -10,7 +10,7 @@
<Class Name="OpenRa.Game.World"> <Class Name="OpenRa.Game.World">
<Position X="8.75" Y="4.25" Width="1.5" /> <Position X="8.75" Y="4.25" Width="1.5" />
<TypeIdentifier> <TypeIdentifier>
<HashCode>AAaAACBBAAAAAiAAAIACBgAAAAAAAAAIAAAAAAgAAAA=</HashCode> <HashCode>AAYAACABAAAAgAAAAIAABgAAAAAAAAAIAAAAAAAAAAA=</HashCode>
<FileName>World.cs</FileName> <FileName>World.cs</FileName>
</TypeIdentifier> </TypeIdentifier>
</Class> </Class>
@@ -21,10 +21,10 @@
<FileName>Building.cs</FileName> <FileName>Building.cs</FileName>
</TypeIdentifier> </TypeIdentifier>
</Class> </Class>
<Class Name="OpenRa.Game.Game" Collapsed="true"> <Class Name="OpenRa.Game.Game">
<Position X="11" Y="0.5" Width="1.5" /> <Position X="11" Y="0.5" Width="1.5" />
<TypeIdentifier> <TypeIdentifier>
<HashCode>AAEAEAAAAIAAAgAABAAAIAAQAAAAAQAAJAAAAABAQAA=</HashCode> <HashCode>AAAAEAAAAIAAAAEEBAAAIAAQQAAAAQAAJAAAAABAQAA=</HashCode>
<FileName>Game.cs</FileName> <FileName>Game.cs</FileName>
</TypeIdentifier> </TypeIdentifier>
</Class> </Class>
@@ -63,8 +63,8 @@
<FileName>PathFinder.cs</FileName> <FileName>PathFinder.cs</FileName>
</TypeIdentifier> </TypeIdentifier>
</Class> </Class>
<Class Name="OpenRa.Game.Player" Collapsed="true"> <Class Name="OpenRa.Game.Player">
<Position X="11" Y="1.5" Width="1.5" /> <Position X="12.75" Y="3.25" Width="1.5" />
<TypeIdentifier> <TypeIdentifier>
<HashCode>AAEAAAAAAAAAAAAAAAAAACAAAgAAAAAAAAAAAAAAAAA=</HashCode> <HashCode>AAEAAAAAAAAAAAAAAAAAACAAAgAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>Player.cs</FileName> <FileName>Player.cs</FileName>
@@ -114,7 +114,7 @@
</TypeIdentifier> </TypeIdentifier>
</Class> </Class>
<Class Name="OpenRa.Game.TerrainCosts" Collapsed="true"> <Class Name="OpenRa.Game.TerrainCosts" Collapsed="true">
<Position X="11" Y="2.5" Width="1.5" /> <Position X="14.5" Y="3.25" Width="1.5" />
<TypeIdentifier> <TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAIAAAAAABAAAAAAAAAAAAAAAAAAAAA=</HashCode> <HashCode>AAAAAAAAAAAAAAIAAAAAABAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>TerrainCosts.cs</FileName> <FileName>TerrainCosts.cs</FileName>
@@ -174,14 +174,14 @@
</TypeIdentifier> </TypeIdentifier>
</Class> </Class>
<Struct Name="OpenRa.Game.CellInfo" Collapsed="true"> <Struct Name="OpenRa.Game.CellInfo" Collapsed="true">
<Position X="11" Y="4.75" Width="1.5" /> <Position X="14.5" Y="4" Width="1.5" />
<TypeIdentifier> <TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAIAAAEAAAAAAAAAAAQAAAAAAAAAAAA=</HashCode> <HashCode>AAAAAAAAAAAAAAIAAAEAAAAAAAAAAAQAAAAAAAAAAAA=</HashCode>
<FileName>PathFinder.cs</FileName> <FileName>PathFinder.cs</FileName>
</TypeIdentifier> </TypeIdentifier>
</Struct> </Struct>
<Struct Name="OpenRa.Game.PathDistance" Collapsed="true" BaseTypeListCollapsed="true"> <Struct Name="OpenRa.Game.PathDistance" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="12.75" Y="4.75" Width="1.5" /> <Position X="12.75" Y="8" Width="1.5" />
<TypeIdentifier> <TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAQAAAIAQAAAAAAAAAAAAAAAAAAAAAA=</HashCode> <HashCode>AAAAAAAAAAAAAAQAAAIAQAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>PathFinder.cs</FileName> <FileName>PathFinder.cs</FileName>

View File

@@ -49,8 +49,9 @@ namespace OpenRa.Game
network = new Network(); network = new Network();
buildingCreation.Add("proc", (location, owner) => new Refinery(location, owner, this)); buildingCreation.Add("proc", (location, owner) => new Refinery(location, owner, this));
buildingCreation.Add("weap", (location, owner) => new WarFactory(location, owner, this));
string[] buildings = { "fact", "powr", "apwr", "weap", "barr", "atek", "stek", "dome" }; string[] buildings = { "fact", "powr", "apwr", "barr", "atek", "stek", "dome" };
foreach (string s in buildings) foreach (string s in buildings)
{ {
var t = s; var t = s;

View File

@@ -1,3 +1,5 @@
using OpenRa.Game.Graphics;
using System.Linq;
namespace OpenRa.Game namespace OpenRa.Game
{ {
@@ -20,4 +22,37 @@ namespace OpenRa.Game
}); });
} }
} }
class WarFactory : Building
{
Animation roof;
public WarFactory(int2 location, Player owner, Game game)
: base("weap", location, owner, game)
{
animation.PlayThen("make", () =>
{
roof = new Animation("weap");
animation.PlayRepeating("idle");
roof.PlayRepeating("idle-top");
});
}
public override Sprite[] CurrentImages
{
get
{
return (roof == null)
? base.CurrentImages
: (base.CurrentImages.Concat( roof.Images ).ToArray());
}
}
public override void Tick(Game game, int t)
{
base.Tick(game, t);
if (roof != null) roof.Tick(t);
}
}
} }

View File

@@ -102,6 +102,10 @@
<sequence name="idle" start="0"/> <sequence name="idle" start="0"/>
<sequence name="damaged-idle" start="1"/> <sequence name="damaged-idle" start="1"/>
<sequence name="make" start="0" length="*" src="weapmake" /> <sequence name="make" start="0" length="*" src="weapmake" />
<sequence name="build-top" start="0" length="4" src="weap2" />
<sequence name="build2-top" start="4" length="4" src="weap2" />
<sequence name="idle-top" start="0" length="1" src="weap2" />
<sequence name="damaged-idle_top" start="4" length="1" src="weap2" />
</unit> </unit>
<!-- mcv --> <!-- mcv -->