예제 #1
0
 private RingSideBlueprint[] CreateRingSideBlueprints()
 {
     RingSideBlueprint[] ret = new RingSideBlueprint[]
     {
         new RingSideBlueprint(1, 0, 0, -1, true),
         new RingSideBlueprint(-1, 1, 1, 0),
         new RingSideBlueprint(0, 1, 1, -1),
         new RingSideBlueprint(-1, 0, 0, 1),
         new RingSideBlueprint(1, -1, -1, 0),
         new RingSideBlueprint(0, -1, -1, 1)
     };
     return(ret);
 }
예제 #2
0
    private MapmakerTile DoRingSide(RingSideBlueprint blueprint, int ring, int ringSideIndex)
    {
        int startRow    = blueprint.BaseRowMultiplier * ring;
        int startColumn = blueprint.BaseColumnMultiplier * ring;

        int rowOffset    = blueprint.RowOffsetIncrement * ringSideIndex;
        int columnOffset = blueprint.ColumnOffsetIncrement * ringSideIndex;

        int finalRow    = startRow + rowOffset;
        int finalColumn = startColumn + columnOffset;

        return(new MapmakerTile(blueprint.IsMasterSide, ring, finalRow, finalColumn));
    }
예제 #3
0
    private HexCenter DoRingSide(RingSideBlueprint blueprint, int ring, int ringSideIndex)
    {
        int startRow    = blueprint.BaseRowMultiplier * ring;
        int startColumn = blueprint.BaseColumnMultiplier * ring;

        int rowOffset    = blueprint.RowOffsetIncrement * ringSideIndex;
        int columnOffset = blueprint.ColumnOffsetIncrement * ringSideIndex;

        int finalRow    = startRow + rowOffset;
        int finalColumn = startColumn + columnOffset;

        Vector2 hexPos   = GetHexPos(finalRow, finalColumn, ring);
        bool    playable = _main.MapDefinition.ContainsDefinitionFor(finalRow, finalColumn);
        int     index    = playable ? RegisterNextHex() : 0;

        return(new HexCenter(hexPos, index, finalRow, finalColumn, _extents));
    }