Inheritance: Place, IHexagon
Beispiel #1
0
 public Edge(Hexagon hex, EdgeOrientation so)
 {
     AdjacentForUpdate.Add(hex);
     _originalHexagon = hex;
     _originalOrientation = so;
     Position = new EdgePosition(_originalHexagon.Position, _originalOrientation);
     _cache = new EdgeCache(this);
 }
Beispiel #2
0
 internal void Add(Hexagon hex)
 {
     if (hex == null)
     {
         return;
     }
     _hexagons.Add(hex);
 }
Beispiel #3
0
 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);
 }
Beispiel #5
0
 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;
 }