TreeCache dies; trees & MINE have unitinfo
This commit is contained in:
@@ -47,12 +47,12 @@ namespace OpenRa.Game
|
||||
+ "; add Traits= to units.ini for appropriate unit" );
|
||||
}
|
||||
|
||||
public Actor( TreeReference tree, TreeCache treeRenderer )
|
||||
{
|
||||
ActorID = 0xffffffff;
|
||||
Location = new int2( tree.Location );
|
||||
traits.Add( new Traits.Tree( treeRenderer.GetImage( tree.Image ) ) );
|
||||
}
|
||||
//public Actor( TreeReference tree, TreeCache treeRenderer )
|
||||
//{
|
||||
// ActorID = 0xffffffff;
|
||||
// Location = new int2( tree.Location );
|
||||
// traits.Add( new Traits.Tree( treeRenderer.GetImage( tree.Image ) ) );
|
||||
//}
|
||||
|
||||
public void Tick()
|
||||
{
|
||||
|
||||
@@ -20,7 +20,6 @@ namespace OpenRa.Game
|
||||
public static readonly int CellSize = 24;
|
||||
|
||||
public static World world;
|
||||
static TreeCache treeCache;
|
||||
public static Viewport viewport;
|
||||
public static PathFinder PathFinder;
|
||||
public static WorldRenderer worldRenderer;
|
||||
@@ -75,14 +74,15 @@ namespace OpenRa.Game
|
||||
viewport = new Viewport( clientSize, Rules.Map.Offset, Rules.Map.Offset + Rules.Map.Size, renderer );
|
||||
|
||||
world = new World();
|
||||
treeCache = new TreeCache(Rules.Map);
|
||||
|
||||
foreach (TreeReference treeReference in Rules.Map.Trees)
|
||||
world.Add(new Actor(treeReference, treeCache));
|
||||
|
||||
BuildingInfluence = new BuildingInfluenceMap();
|
||||
UnitInfluence = new UnitInfluenceMap();
|
||||
|
||||
foreach (TreeReference treeReference in Rules.Map.Trees)
|
||||
world.Add(new Actor(treeReference.Image,
|
||||
new int2(treeReference.Location),
|
||||
null));
|
||||
|
||||
LoadMapBuildings(Rules.AllRules);
|
||||
LoadMapUnits(Rules.AllRules);
|
||||
|
||||
|
||||
@@ -31,14 +31,16 @@ namespace OpenRa.Game
|
||||
FileSystem.Open( "rules.ini" ),
|
||||
FileSystem.Open( "aftermathUnits.ini" ),
|
||||
FileSystem.Open( "units.ini" ),
|
||||
FileSystem.Open( "campaignUnits.ini" ) );
|
||||
FileSystem.Open("campaignUnits.ini"),
|
||||
FileSystem.Open("trees.ini"));
|
||||
else
|
||||
AllRules = new IniFile(
|
||||
FileSystem.Open("session.ini"),
|
||||
FileSystem.Open(mapFileName),
|
||||
FileSystem.Open("rules.ini"),
|
||||
FileSystem.Open("units.ini"),
|
||||
FileSystem.Open("campaignUnits.ini"));
|
||||
FileSystem.Open("campaignUnits.ini"),
|
||||
FileSystem.Open("trees.ini"));
|
||||
|
||||
General = new GeneralInfo();
|
||||
FieldLoader.Load(General, AllRules.GetSection("General"));
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace OpenRa.Game.Graphics
|
||||
|
||||
int low = sprites.Count;
|
||||
|
||||
ShpReader reader = new ShpReader( FileSystem.OpenWithExts( name, ".shp", ".tem", ".sno", ".int" ) );
|
||||
ShpReader reader = new ShpReader( FileSystem.OpenWithExts( name, ".tem", ".sno", ".int", ".shp" ) );
|
||||
foreach (ImageHeader h in reader)
|
||||
sprites.Add(SheetBuilder.Add(h.Image, reader.Size));
|
||||
|
||||
|
||||
@@ -137,7 +137,6 @@
|
||||
<Compile Include="Graphics\SpriteSheetBuilder.cs" />
|
||||
<Compile Include="TerrainCosts.cs" />
|
||||
<Compile Include="Graphics\TerrainRenderer.cs" />
|
||||
<Compile Include="Graphics\TreeCache.cs" />
|
||||
<Compile Include="Traits\Activities\Harvest.cs" />
|
||||
<Compile Include="Traits\Activities\Move.cs" />
|
||||
<Compile Include="Traits\Activities\Follow.cs" />
|
||||
|
||||
@@ -26,7 +26,8 @@ namespace OpenRa.Game.Traits
|
||||
|
||||
public void BuildingComplete(Actor self)
|
||||
{
|
||||
self.Owner.ChangePower(unitInfo.Power);
|
||||
if (self.Owner != null)
|
||||
self.Owner.ChangePower(unitInfo.Power);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,8 @@ namespace OpenRa.Game.Traits
|
||||
|
||||
public override IEnumerable<Tuple<Sprite, float2, int>> Render(Actor self)
|
||||
{
|
||||
yield return Tuple.New(anim.Image, 24f * (float2)self.Location, self.Owner.Palette);
|
||||
var pal = self.Owner == null ? 0 : self.Owner.Palette;
|
||||
yield return Tuple.New(anim.Image, 24f * (float2)self.Location, pal);
|
||||
}
|
||||
|
||||
public virtual void Damaged(Actor self, DamageState state)
|
||||
|
||||
Reference in New Issue
Block a user