chunk class was missing set_tileset() ...

This commit is contained in:
Antti Hakkarainen 2023-02-12 19:12:27 +02:00
parent abbaa6f450
commit fccef57210
7 changed files with 39 additions and 50 deletions

View file

@ -9,35 +9,36 @@ extends Node2D
# This is done to speed up game loading and avoiding setting one large tilemap in one go
# which is extremely slow in godot 4.0, 4096x4096 takes minutes to fill with set_cell() commands
var map_tiles:Array[Array] = [[]]
var chunks:Dictionary = {}
var unused_chunks:Dictionary = {}
func _init() -> void:
self.name = "ChunkHandler"
func _ready():
#thread = Thread.new()
pass
#var map_tiles:Array[Array] = [[]]
#
#func start_handler() -> void:
# # Initialize the map tile array with enough chunks to cover the whole map
# map_tiles.resize(Globals.map_size/Globals.CHUNK_SIZE)
# for y in map_tiles.size():
# map_tiles[y].resize(Globals.map_size/Globals.CHUNK_SIZE)
# for x in map_tiles.size():
# map_tiles[y][x] = chunk.instantiate()
func start_handler() -> void:
# Initialize the map tile array with enough chunks to cover the whole map
map_tiles.resize(Globals.map_size/Globals.CHUNK_SIZE)
for y in map_tiles.size():
map_tiles[y].resize(Globals.map_size/Globals.CHUNK_SIZE)
func add_chunk(x:int, y:int):
func add_chunk(x:int, y:int):
var chunk = Chunk.new(x,y)
var start = Time.get_ticks_usec()
chunk.generate_chunk()
self.add_child(chunk)
chunk.generate_chunk()
chunk.set_position(Vector2(x*Globals.CHUNK_SIZE,y*Globals.CHUNK_SIZE))
chunk.set_visible(true)
var end = Time.get_ticks_usec()
print("generate a chunk ", (end-start)/1000.0, "ms")
print("nodes in children: ", self.get_children()[0].get_used_cells(Globals.LAYER_TERRAIN).size())
print("chunk visible in tree? : ", self.get_children()[0].is_visible_in_tree())
print("handler visible? ", self.is_visible_in_tree())
#chunk.set_position(Vector2(x*Globals.CHUNK_SIZE,y*Globals.CHUNK_SIZE))
#map_tiles[chunk_pos.y][chunk_pos.x].clear()