class_name ScarcityController extends RefCounted # ScarcityController - Logic for tile generation based on ScarcityModel static func get_random_tile_id() -> int: var rng = RandomNumberGenerator.new() rng.randomize() var weights = ScarcityModel.get_tile_weights() var total_weight = 0 # Calculate total weight for tile in weights: total_weight += weights[tile] var roll = rng.randi_range(0, total_weight - 1) var current = 0 for tile in weights: current += weights[tile] if roll < current: return tile return ScarcityModel.TILE_HEART # Fallback