public Edge(Hexagon hex, EdgeOrientation so) { AdjacentForUpdate.Add(hex); _originalHexagon = hex; _originalOrientation = so; Position = new EdgePosition(_originalHexagon.Position, _originalOrientation); _cache = new EdgeCache(this); }
internal void Add(Hexagon hex) { if (hex == null) { return; } _hexagons.Add(hex); }
public Vertex(Hexagon hex, VertexOrientation vo) { AdjacentForUpdate.Add(hex); _originalHexagon = hex; _originalOrientation = vo; Position = new VertexPosition(hex.Position, vo); Reset(); }
private void UpdateBuffer(Hexagon hex) { var pos = HexPosToConsolePos(hex.Position); var defaultForeColor = (hex.ProductionNumber == 0) ? ConsolePixel.DefaultForeColor : ConsoleViewerColor.Degree[hex.Degree]; PrintNumber(hex.ProductionNumber, pos.Y - 1, pos.X, true, defaultForeColor); _printBuffer[pos.Y, pos.X] = new ConsolePixel(',') { ForeColor = defaultForeColor, }; printNumberNegRed(hex.Position.X, pos.Y, pos.X - 1, true, defaultForeColor); printNumberNegRed(hex.Position.Y, pos.Y, pos.X + 1, false, defaultForeColor); PrintNumber(GameConstants.DiceRollNumber2Chance[hex.ProductionNumber], pos.Y + 1, pos.X, true, ConsoleColor.DarkMagenta); }
internal Hexagon CreateHexagon(int id, DegreeType degree, Position position) { var hex = new Hexagon(id, degree, position); _hexagons.Add(hex); _hexgonPositions[position] = hex; if (!_id2HexgonMap.ContainsKey(id)) { _id2HexgonMap[id] = new List<Hexagon>(); } _id2HexgonMap[id].Add(hex); return hex; }