# GroundTile.gd class_name GroundTile extends Node3D @onready var debug_text: Label = $DebugText/DebugTextViewport/DebugTextLabel @onready var tree_spawner = $Trees @onready var grass_spawner = $Grass var grid_x: int var grid_z: int var cell_info: CellDataResource = null var spawners_ready: bool = false var rng: RandomClass = RandomClass.new() func _ready() -> void: spawners_ready = true # Now that spawners are ready, trigger spawning if we have cell_info if cell_info != null: spawn_content() update_text_label() rng.set_seed(cell_info.cell_seed) func set_grid_location(x, z) -> void: grid_x = x grid_z = z cell_info = MapData.get_map_data(grid_x, grid_z) # Only spawn if spawners are ready if spawners_ready and cell_info != null: spawn_content() func spawn_content(): if cell_info == null: return if tree_spawner: tree_spawner.spawn_trees_for_cell(cell_info) if grass_spawner: grass_spawner.spawn_grass_for_cell(cell_info) func update_text_label() -> void: debug_text.text = str(cell_info.vegetation_density)