44 lines
1.2 KiB
GDScript
44 lines
1.2 KiB
GDScript
class_name TopMenu extends Control
|
|
|
|
const member_panel_entry_template = preload("res://member_panel_entry.tscn")
|
|
const quest_panel_entry_template = preload("res://quest_panel_entry.tscn")
|
|
|
|
@onready var members_list = %MembersList
|
|
@onready var members = %Members
|
|
@onready var quest_list = %QuestList
|
|
@onready var quests = %Quests
|
|
func _ready() -> void:
|
|
Game.top_menu = self
|
|
|
|
func hide_submenus() -> void:
|
|
members.visible = false
|
|
quests.visible = false
|
|
|
|
func _on_members_button_pressed() -> void:
|
|
if !members.visible:
|
|
hide_submenus()
|
|
members.visible = !members.visible
|
|
for child in members_list.get_children():
|
|
child.enabled = members.visible
|
|
|
|
func _on_quests_button_pressed() -> void:
|
|
if !quests.visible:
|
|
hide_submenus()
|
|
quests.visible = !quests.visible
|
|
for child in quest_list.get_children():
|
|
child.enabled = quests.visible
|
|
|
|
func add_member(member : AdventurerData) -> void:
|
|
var entry = member_panel_entry_template.instantiate()
|
|
entry.setup(member)
|
|
members_list.add_child(entry)
|
|
|
|
func add_quest(quest : Quest) -> void:
|
|
var entry = quest_panel_entry_template.instantiate()
|
|
entry.setup(quest)
|
|
quest_list.add_child(entry)
|
|
|
|
|
|
func _on_quest_generate_button_pressed() -> void:
|
|
%GenerateQuestDialog.show()
|