class_name Chunk extends TileMap var x:int = -1 var y:int = -1 var should_remove:bool = false # Called when the node enters the scene tree for the first time. func _init(ypos:int, xpos:int, sr: bool): self.x = xpos self.y = ypos self.should_remove = sr self.name = "Chunk [%d,%d]" % [x, y] self.set_tileset(Globals.TILESET_TERRAIN) self.position = Vector2i( x*Globals.CHUNK_SIZE.x*Globals.TILE_SIZE_X, y*Globals.CHUNK_SIZE.y*Globals.TILE_SIZE_Y ) func _ready(): generate_chunk() func _draw(): self.draw_rect( Rect2( Vector2(0,0), Vector2( Globals.CHUNK_SIZE.x*Globals.TILE_SIZE_X, Globals.CHUNK_SIZE.y*Globals.TILE_SIZE_Y) ), Color(0,0,0,0.5), false ) func generate_chunk() -> void: for row in Globals.CHUNK_SIZE.y: for col in Globals.CHUNK_SIZE.x: var tile_data: Array = Globals.map_tile_data[row+y*Globals.CHUNK_SIZE.y][col+x*Globals.CHUNK_SIZE.x] # layer | tile coords at tilemap | tilemap id | coords of the tile at tileset | alternative tile self.set_cell( Globals.LAYER_TERRAIN, Vector2i(col, row), 0, tile_data[0], tile_data[1] )