class_name Spawn extends Tile enum Size { SMALL, MEDIUM, LARGE } const CITIZEN_SCENE = preload("uid://bwx0lqtkd2jd7") @export var spawn_size: Size = Size.SMALL @export var direction: Board.Direction = Board.Direction.UP var spawn_time: float = 0.5 var spawn_left: int var current_time: float = 0 var board: Board var paused: bool = true func _ready() -> void: board = get_parent().get_parent() match spawn_size: Size.SMALL: spawn_left = 10 func pause() -> void: paused = true func unpause() -> void: paused = false func handle_post_turn_actions() -> void: match spawn_size: Size.SMALL: spawn_left = 10 func _physics_process(delta: float) -> void: #print(paused) if paused: return current_time += delta if current_time >= spawn_time and spawn_left > 0: spawn_left -= 1 current_time = 0 var citizen: Citizen = CITIZEN_SCENE.instantiate() add_sibling(citizen) citizen.add_to_group("Pausable") citizen.board = board citizen.position = position + (size / 2) citizen.set_offset(Vector2(randf_range(-40, 40), randf_range(-40, 40))) citizen.direction = direction