OneNightDuel/FNAF_Server/Map/MapTile.cs

25 lines
1,016 B
C#
Raw Normal View History

namespace FNAF_Server.Map;
public class MapTile {
public int Id { get; private set; }
public ServerPlayer Owner { get; private set; }
public bool Lit { get; set; } = false;
private List<TileConnector> Connectors { get; set; } = new();
public MapTile(int id, ServerPlayer owner) {
Id = id;
Owner = owner;
}
public void AddConnector(MapTile tile, TileConnector.ConnectorType type, int value) {
Connectors.Add(new TileConnector(this, tile, type, value));
tile.Connectors.Add(new TileConnector(tile, this, type, value));
}
public void AddConnectors((MapTile tile, TileConnector.ConnectorType type, int value)[] connectors) =>
Array.ForEach(connectors, c => AddConnector(c.tile, c.type, c.value));
public override string ToString() => $"{PositionAsString} -> {string.Join(", ", Connectors.Select(c => c.Tiles.Item2.PositionAsString))}";
public string PositionAsString => $"[{Id / 5}, {Id % 5}]"; // for debug purposes
}