47 lines
1.2 KiB
GDScript
47 lines
1.2 KiB
GDScript
extends PanelContainer
|
|
|
|
var questStatusPopupScene = preload("res://UI/MenuBar/Quests/QuestStatusPopup.tscn")
|
|
var currentBaseColor
|
|
|
|
var questDisplayed
|
|
|
|
func _ready():
|
|
currentBaseColor = %QuestNameLabel.get("theme_override_colors/font_color")
|
|
|
|
func refresh_completion():
|
|
set_status(questDisplayed.is_completed())
|
|
|
|
func set_status(completed):
|
|
if completed:
|
|
%QuestNameLabel.set("theme_override_colors/font_color", Color.GREEN)
|
|
currentBaseColor = Color.GREEN
|
|
|
|
func set_quest_name(questName):
|
|
%QuestNameLabel.text = questName
|
|
|
|
func set_quest(quest):
|
|
questDisplayed = quest
|
|
set_quest_name(quest.questName)
|
|
set_status(quest.is_completed())
|
|
|
|
func _on_gui_input(event):
|
|
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
|
|
show_quest_overview()
|
|
|
|
func show_quest_overview():
|
|
var questPopup = questStatusPopupScene.instantiate()
|
|
add_child(questPopup)
|
|
questPopup.set_quest(questDisplayed)
|
|
questPopup.popup_centered()
|
|
|
|
func _on_mouse_entered():
|
|
var hoverColor = currentBaseColor
|
|
hoverColor.r += 0.3
|
|
hoverColor.g += 0.3
|
|
hoverColor.b += 0.3
|
|
%QuestNameLabel.set("theme_override_colors/font_color", hoverColor)
|
|
|
|
func _on_mouse_exited():
|
|
%QuestNameLabel.set("theme_override_colors/font_color", currentBaseColor)
|
|
|