Text Settings done
This commit is contained in:
@@ -3,14 +3,37 @@ extends CanvasLayer
|
||||
@onready var next = $UI/SkipContainer/NextButton
|
||||
@onready var confirmation_mask = $ConfirmationMask
|
||||
|
||||
#Signals for progressing through slides
|
||||
signal next_request
|
||||
signal next_slide
|
||||
|
||||
#Signals for saving and loading
|
||||
signal save_slot_pressed(save_slot_number: int)
|
||||
signal load_slot_pressed(load_slot_number: int)
|
||||
|
||||
#Signal for going back to main menu
|
||||
signal main_menu_pressed
|
||||
|
||||
#Preloading Confirmation dialog
|
||||
var confirmation_dialog = preload("res://confirmation_dialog.tscn")
|
||||
|
||||
#Text settings sliders
|
||||
@export var text_slider: Node
|
||||
@export var auto_slider: Node
|
||||
@export var text_counter: Node
|
||||
@export var auto_counter: Node
|
||||
@export var autoplay: Node
|
||||
@export var auto_mask: ColorRect
|
||||
|
||||
#Vars and signals for handling text settings
|
||||
var text_speed: float
|
||||
var auto_speed: float
|
||||
var is_auto = false
|
||||
signal text_value_changed
|
||||
signal auto_value_changed
|
||||
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
|
||||
@@ -29,9 +52,10 @@ func _ready() -> void:
|
||||
$UI/Menu/MarginContainer/VBoxContainer/MainMenu.pressed.connect(_on_main_menu_pressed)
|
||||
$UI/Menu/MarginContainer/VBoxContainer/Quit.pressed.connect(_on_quit_game_pressed)
|
||||
$UI/Save/MarginContainer/VBoxContainer/Back.pressed.connect(_on_back_pressed)
|
||||
$UI/Load/MarginContainer/VBoxContainer/Back.pressed.connect(_on_back_pressed)
|
||||
$UI/LoadTitle/MarginContainer/VBoxContainer/Back.pressed.connect(_on_back_title_pressed)
|
||||
$UI/Settings/MarginContainer/VBoxContainer/Back.pressed.connect(_on_back_pressed)
|
||||
$UI/Load/MarginContainer/VBoxContainer/Control/Back.pressed.connect(_on_back_pressed)
|
||||
$UI/Load/MarginContainer/VBoxContainer/Control/BackTitle.pressed.connect(_on_back_title_pressed)
|
||||
$UI/Settings/MarginContainer/VBoxContainer/Control/Back.pressed.connect(_on_back_pressed)
|
||||
$UI/Settings/MarginContainer/VBoxContainer/Control/BackTitle.pressed.connect(_on_back_title_pressed)
|
||||
|
||||
#Save Slots Signals
|
||||
$UI/Save/MarginContainer/VBoxContainer/SaveSlot1.pressed.connect(func(): _on_save_slot_pressed(1))
|
||||
@@ -45,20 +69,26 @@ func _ready() -> void:
|
||||
$UI/Load/MarginContainer/VBoxContainer/LoadSlot3.pressed.connect(func(): _on_load_slot_pressed(3))
|
||||
$UI/Load/MarginContainer/VBoxContainer/LoadSlot4.pressed.connect(func(): _on_load_slot_pressed(4))
|
||||
|
||||
#Load Title Slots Signals
|
||||
$UI/LoadTitle/MarginContainer/VBoxContainer/LoadSlot1.pressed.connect(func(): _on_load_slot_pressed(1))
|
||||
$UI/LoadTitle/MarginContainer/VBoxContainer/LoadSlot2.pressed.connect(func(): _on_load_slot_pressed(2))
|
||||
$UI/LoadTitle/MarginContainer/VBoxContainer/LoadSlot3.pressed.connect(func(): _on_load_slot_pressed(3))
|
||||
$UI/LoadTitle/MarginContainer/VBoxContainer/LoadSlot4.pressed.connect(func(): _on_load_slot_pressed(4))
|
||||
#Text settings signals
|
||||
text_slider.value_changed.connect(_on_text_value_changed)
|
||||
auto_slider.value_changed.connect(_on_auto_value_changed)
|
||||
autoplay.pressed.connect(_on_autoplay_pressed)
|
||||
|
||||
text_speed = 0.1 / text_slider.value
|
||||
auto_speed = 0.4 * auto_slider.value
|
||||
text_counter.text = "[center]" + str(snapped((text_speed * 1000), 1)) + " ms/letter[/center]"
|
||||
auto_counter.text = "[center]" + str(snapped(auto_speed, 0.01)) + " s delay[/center]"
|
||||
|
||||
#Initializes the auto-advance to false
|
||||
autoplay.button_pressed = false
|
||||
auto_mask.visible = true
|
||||
|
||||
#Hiding everything at start
|
||||
#self.hide()
|
||||
self.get_node("UI/UpperContainer").hide()
|
||||
self.get_node("UI/SkipContainer").hide()
|
||||
for node in $UI.get_children():
|
||||
node.hide()
|
||||
confirmation_mask.visible = false
|
||||
|
||||
|
||||
|
||||
#Brings up a Confirmation Dialog
|
||||
func ask_confirmation(function_yes: Callable, function_no: Callable, choice_text: String):
|
||||
|
||||
@@ -133,6 +163,8 @@ func _on_save_pressed():
|
||||
func _on_load_pressed():
|
||||
$UI/Menu.hide()
|
||||
$UI/Load.show()
|
||||
$UI/Load/MarginContainer/VBoxContainer/Control/BackTitle.hide()
|
||||
$UI/Load/MarginContainer/VBoxContainer/Control/Back.show()
|
||||
|
||||
|
||||
|
||||
@@ -147,7 +179,8 @@ func _on_back_pressed():
|
||||
|
||||
#Goes back to title screen
|
||||
func _on_back_title_pressed():
|
||||
$UI/LoadTitle.hide()
|
||||
$UI/Load.hide()
|
||||
$UI/Settings.hide()
|
||||
TransitionScreen.mask.visible = false
|
||||
|
||||
|
||||
@@ -156,6 +189,8 @@ func _on_back_title_pressed():
|
||||
func _on_settings_pressed():
|
||||
$UI/Menu.hide()
|
||||
$UI/Settings.show()
|
||||
$UI/Settings/MarginContainer/VBoxContainer/Control/BackTitle.hide()
|
||||
$UI/Settings/MarginContainer/VBoxContainer/Control/Back.show()
|
||||
|
||||
|
||||
|
||||
@@ -204,3 +239,28 @@ func _on_load_slot_pressed(load_slot_number: int):
|
||||
ask_confirmation(lambda, Callable(), choice_text)
|
||||
else:
|
||||
pass
|
||||
|
||||
|
||||
#Changes text_speed value
|
||||
func _on_text_value_changed(new_value: float):
|
||||
text_speed = 0.1 / new_value
|
||||
text_counter.text = "[center]" + str(snapped((text_speed * 1000), 1)) + " ms/letter[/center]"
|
||||
text_value_changed.emit()
|
||||
|
||||
|
||||
#Changes auto_speed value
|
||||
func _on_auto_value_changed(new_value: float):
|
||||
auto_speed = 0.4 * new_value
|
||||
auto_counter.text = "[center]" + str(snapped(auto_speed, 0.01)) + " s delay[/center]"
|
||||
auto_value_changed.emit()
|
||||
|
||||
|
||||
#Toggles auto-advance
|
||||
func _on_autoplay_pressed():
|
||||
if autoplay.button_pressed:
|
||||
is_auto = true
|
||||
auto_mask.visible = false
|
||||
else:
|
||||
is_auto = false
|
||||
auto_mask.visible = true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user