You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
698 B
GDScript

2 years ago
extends CanvasLayer
2 years ago
var ui_page_list: Array[Variant] = []
2 years ago
func _ready():
for i in range(self.get_child_count()):
var ui_page: Node = self.get_child(i)
if ui_page.name.ends_with("Page"):
ui_page_list.push_back(ui_page)
2 years ago
2 years ago
func input_action(key: String, is_pressed: bool):
for ui_page in ui_page_list:
if ui_page.has_method("input_action"):
ui_page.call("input_action", key, is_pressed)
if is_pressed and ui_page.has_method("input_action_pressed"):
ui_page.call("input_action_pressed", key)
if not visible:
break
2 years ago
2 years ago
func input_dir(dir: Vector2):
for ui_page in ui_page_list:
if ui_page.has_method("input_dir"):
ui_page.call("input_dir", dir)
if not visible:
break