12345678910111213141516171819202122232425262728 |
- class_name PromptContainer
- extends Control
- ## Free itself when every prompt has been used
- var _nb_prompts: int
- func _ready() -> void:
- _nb_prompts = 0
- for child in get_children():
- if child is InputPrompt:
- child.pressed.connect(child.queue_free)
- child.tree_exited.connect(_on_child_exited_tree)
- _nb_prompts += 1
- func remove_if_no_more_prompt():
- _nb_prompts -= 1
- print(_nb_prompts, " remaining prompts")
- if _nb_prompts <= 0:
- # Only label remaining
- print("Destruction !")
- queue_free()
- func _on_child_exited_tree() -> void:
- remove_if_no_more_prompt()
|