mirror of
https://github.com/kwsch/NHSE.git
synced 2026-09-11 20:55:35 -05:00
misc performance improvements
Preallocate the terrain-building objects and reuse changed: - grid alternates with a slightly-darker to help indicate the larger 2x2 tile grid. - put plaza & buildings behind the gridlines
This commit is contained in:
@@ -2,26 +2,34 @@
|
||||
|
||||
namespace NHSE.Core
|
||||
{
|
||||
public class MapManager
|
||||
public class MapManager : MapTerrainStructure
|
||||
{
|
||||
public readonly FieldItemManager Items;
|
||||
|
||||
public int MapLayer { get; set; } // 0 or 1
|
||||
|
||||
public MapManager(MainSave sav) : base(sav)
|
||||
{
|
||||
Items = new FieldItemManager(sav.GetFieldItems());
|
||||
}
|
||||
|
||||
public FieldItemLayer CurrentLayer => MapLayer == 0 ? Items.Layer1 : Items.Layer2;
|
||||
}
|
||||
|
||||
public class MapTerrainStructure
|
||||
{
|
||||
public readonly TerrainManager Terrain;
|
||||
public readonly IReadOnlyList<Building> Buildings;
|
||||
|
||||
public uint PlazaX { get; set; }
|
||||
public uint PlazaY { get; set; }
|
||||
|
||||
public int MapLayer { get; set; } // 0 or 1
|
||||
|
||||
public MapManager(MainSave sav)
|
||||
public MapTerrainStructure(MainSave sav)
|
||||
{
|
||||
Items = new FieldItemManager(sav.GetFieldItems());
|
||||
Terrain = new TerrainManager(sav.GetTerrainTiles());
|
||||
Buildings = sav.Buildings;
|
||||
PlazaX = sav.PlazaX;
|
||||
PlazaY = sav.PlazaY;
|
||||
}
|
||||
|
||||
public FieldItemLayer CurrentLayer => MapLayer == 0 ? Items.Layer1 : Items.Layer2;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user