@Override
    public void create(int tileWidth, int tileHeight, int widthInTile, int heightInTile)
    {
        Check.superiorStrict(tileWidth, 0);
        Check.superiorStrict(tileHeight, 0);
        Check.superiorStrict(widthInTile, 0);
        Check.superiorStrict(heightInTile, 0);

        clear();

        this.tileWidth = tileWidth;
        this.tileHeight = tileHeight;
        this.widthInTile = widthInTile;
        this.heightInTile = heightInTile;

        radius = (int) Math.ceil(StrictMath.sqrt(widthInTile * widthInTile + heightInTile * (double) heightInTile));
        tiles = new ArrayList<>(heightInTile);

        for (int v = 0; v < heightInTile; v++)
        {
            tiles.add(v, new ArrayList<Tile>(widthInTile));
            for (int h = 0; h < widthInTile; h++)
            {
                tiles.get(v).add(h, null);
            }
        }
    }
@ Override public void create ( int tileWidth , int tileHeight , int widthInTile , int heightInTile ) { Check . superiorStrict ( tileWidth , 0 ) ; Check . superiorStrict ( tileHeight , 0 ) ; Check . superiorStrict ( widthInTile , 0 ) ; Check . superiorStrict ( heightInTile , 0 ) ; clear ( ) ; this . tileWidth = tileWidth ; this . tileHeight = tileHeight ; this . widthInTile = widthInTile ; this . heightInTile = heightInTile ; radius = ( int ) Math . ceil ( StrictMath . sqrt ( widthInTile * widthInTile + heightInTile * ( double ) heightInTile ) ) ; tiles = new ArrayList < > ( heightInTile ) ; for ( int v = 0 ; v < heightInTile ; v ++ ) { tiles . add ( v , new ArrayList < Tile > ( widthInTile ) ) ; for ( int h = 0 ; h < widthInTile ; h ++ ) { tiles . get ( v ) . add ( h , null ) ; } } }
/*
MapTile