示例#1
0
    private MapTileBasis GetFirstRotatedTile(MapTileBasis item)
    {
        int ring   = item.Row + item.Column;
        int offset = item.Row;
        int row    = ring;
        int column = -offset;

        return(new MapTileBasis(row, column, item.IsImpassable, item.IsStartPosition));
    }
示例#2
0
    private IEnumerable <MapTileBasis> GetMirroredTiles(MapTileBasis item)
    {
        MapTileBasis rotationA = GetFirstRotatedTile(item);
        MapTileBasis rotationB = GetSecondRotatedTile(item);

        yield return(item);

        yield return(rotationA);

        yield return(rotationB);

        yield return(GetFlippedTile(item));

        yield return(GetFlippedTile(rotationA));

        yield return(GetFlippedTile(rotationB));
    }
示例#3
0
 private MapTileBasis GetFlippedTile(MapTileBasis item)
 {
     return(new MapTileBasis(-item.Row, -item.Column, item.IsImpassable, item.IsStartPosition));
 }