Remote dveře se renderují na mapě. Opravena chyba v GlobalMapTile.CoordsToId, která způsobovala desynchronizaci id místností
This commit is contained in:
parent
7e6b3d724b
commit
70b5debb22
7 changed files with 58 additions and 27 deletions
|
|
@ -3,13 +3,16 @@ namespace GlobalClassLib;
|
|||
public abstract class GlobalMapTile<TCon, TTile> where TCon : GlobalTileConnector<TTile, TCon> where TTile : GlobalMapTile<TCon, TTile> { // TTile should be the inheriting class
|
||||
public int Id { get; private set; }
|
||||
public bool Lit { get; set; } = false;
|
||||
public (int x, int y) GridPosition { get; private set; }
|
||||
|
||||
private List<TCon> connectors = new();
|
||||
|
||||
public GlobalMapTile(int id) {
|
||||
Id = id;
|
||||
GridPosition = IdToCoords(id);
|
||||
}
|
||||
public void AddConnector(TCon connector) { // tile1 is ignored when provided
|
||||
connector = connector.Clone();
|
||||
connector.Tiles.tile1 = (TTile)this;
|
||||
connectors.Add(connector);
|
||||
connector.Tiles.tile2._AddConnectorNoRepeat(connector.Clone());
|
||||
|
|
@ -36,8 +39,10 @@ public abstract class GlobalMapTile<TCon, TTile> where TCon : GlobalTileConnecto
|
|||
return null;
|
||||
}
|
||||
|
||||
public TCon[] GetAllConnectors() => connectors.ToArray();
|
||||
public TCon[] GetAllConnectors() => connectors.ToArray();
|
||||
|
||||
public static int CoordsToId(int x, int y) => x * 5 + y;
|
||||
public static (int, int) IdToCoords(int id) => (id % 5, id / 5);
|
||||
|
||||
public const int ID_X_OFFSET = 5; // map grid height
|
||||
public static int CoordsToId(int x, int y) => x * ID_X_OFFSET + y;
|
||||
public static (int, int) IdToCoords(int id) => (id / ID_X_OFFSET, id % ID_X_OFFSET);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue