Drop TopLeft and BottomRight from MapFormat 5. Use Bounds directly.

This commit is contained in:
Paul Chote
2011-02-11 11:01:06 +13:00
parent 7332c5a6df
commit 9407c55262
4 changed files with 23 additions and 15 deletions

View File

@@ -37,14 +37,14 @@ namespace OpenRA.FileFormats
[FieldLoader.Load] public string[] StartPoints;
public int PlayerCount { get { return StartPoints.Count(); } }
[FieldLoader.LoadUsing( "LoadWaypoints" )]
public Dictionary<string, int2> Waypoints = new Dictionary<string, int2>();
public IEnumerable<int2> SpawnPoints{ get { return Waypoints.Where(kv => StartPoints.Contains(kv.Key)).Select(kv => kv.Value); } }
public Dictionary<string, int2> Waypoints = new Dictionary<string, int2>();
public IEnumerable<int2> SpawnPoints{ get { return Waypoints.Where(kv => StartPoints.Contains(kv.Key)).Select(kv => kv.Value); } }
[FieldLoader.Load] public Rectangle Bounds;
// TODO: Remove these once we stop supporting MapFormat < 5
[FieldLoader.Load] public int2 TopLeft;
[FieldLoader.Load] public int2 BottomRight;
public Rectangle Bounds;
public MapStub() {} // Hack for the editor - not used for anything important
@@ -55,12 +55,14 @@ namespace OpenRA.FileFormats
var yaml = MiniYaml.FromStream(Container.GetContent("map.yaml"));
FieldLoader.Load( this, new MiniYaml( null, yaml ) );
Bounds = Rectangle.FromLTRB(TopLeft.X, TopLeft.Y, BottomRight.X, BottomRight.Y);
Uid = ComputeHash();
// Upgrade maps to define StartPoints
if (MapFormat < 5)
{
StartPoints = Waypoints.Select(kv => kv.Key).ToArray();
Bounds = Rectangle.FromLTRB(TopLeft.X, TopLeft.Y, BottomRight.X, BottomRight.Y);
}
}
string ComputeHash()