25 lines
409 B
GDScript
25 lines
409 B
GDScript
class_name MenuBase
|
|
extends Control
|
|
|
|
signal menu_opened
|
|
signal menu_closed
|
|
|
|
var previous_menu: MenuBase
|
|
|
|
|
|
func open_menu(last_menu: MenuBase = previous_menu) -> void:
|
|
show()
|
|
|
|
if is_instance_valid(last_menu):
|
|
previous_menu = last_menu
|
|
menu_opened.emit()
|
|
|
|
|
|
func close_menu() -> void:
|
|
hide()
|
|
|
|
if is_instance_valid(previous_menu):
|
|
previous_menu.open_menu()
|
|
previous_menu = null
|
|
menu_closed.emit()
|