Inicialización de Kotlin 2d Array

Por favor, eche un vistazo a mi Inicialización de matriz 2D. El código funciona

class World(val size_x: Int = 256, val size_y: Int = 256) { var worldTiles = Array(size_x, { Array(size_y, { WorldTile() }) }) fun generate() { for( x in 0..size_x-1 ) { for( y in 0..size_y-1 ) { worldTiles[x][y] = WorldTile() } } } } 

El problema es que ejecuta la initialization dos veces. Básicamente quiero crear una instancia del WorldTile-Object en la function generate (). Entonces la línea 3 no debería llamar "nuevo WorldTile" allí. ¿Cómo puedo hacer eso?

¿También es la forma correcta de Kotlin de atravesar un 2d-Array?

Gracias 🙂