50 lines
1.3 KiB
GDScript
50 lines
1.3 KiB
GDScript
extends Control
|
|
|
|
signal close
|
|
|
|
var xpMultipliers = [0, 0.25, 0.5, 1, 1.5, 2, 5]
|
|
|
|
func _ready():
|
|
initialize_options()
|
|
|
|
func initialize_options():
|
|
#Xp Multiplier
|
|
var savedXpMult = SaveManager.get_save_value("xpMult", 1)
|
|
|
|
var sliderPos = 3
|
|
for i in range(xpMultipliers.size()):
|
|
var currentMult = xpMultipliers[i]
|
|
if currentMult == savedXpMult:
|
|
sliderPos = i
|
|
break
|
|
|
|
%XPSlider.value = sliderPos
|
|
update_xp_multiplier_label(%XPSlider.value)
|
|
|
|
#Level checks disable
|
|
var levelChecksDisabled = SaveManager.get_save_value("disableQuestLevelChecks", false)
|
|
update_quest_level_requirements_toggle(levelChecksDisabled)
|
|
|
|
func update_xp_multiplier_label(sliderPos):
|
|
var labelText = "XP Multiplier: "
|
|
labelText += str(xpMultipliers[sliderPos])
|
|
labelText += "x"
|
|
|
|
%XPMultiplier.text = labelText
|
|
|
|
func update_quest_level_requirements_toggle(toggled):
|
|
%QuestLevelChecks.button_pressed = toggled
|
|
|
|
func _on_xp_slider_drag_ended(value_changed):
|
|
update_xp_multiplier_label(%XPSlider.value)
|
|
SaveManager.set_save_value("xpMult", xpMultipliers[%XPSlider.value])
|
|
|
|
func _on_quest_level_checks_toggled(toggled_on):
|
|
SaveManager.set_save_value("disableQuestLevelChecks", toggled_on)
|
|
|
|
func _on_close_button_pressed():
|
|
close.emit()
|
|
|
|
func _on_xp_slider_value_changed(value):
|
|
update_xp_multiplier_label(value)
|