Files

100 lines
2.6 KiB
GDScript3
Raw Permalink Normal View History

2026-02-10 00:05:50 -05:00
extends Control
var game_mode
2026-02-10 22:11:47 -05:00
var stage = 0
2026-02-10 00:05:50 -05:00
var word_select
var main_buttons
var fade
2026-02-10 22:11:47 -05:00
var header
2026-02-10 00:05:50 -05:00
var word_select_button = preload("res://scenes/objects/ui/word_select_button.tscn")
2026-02-15 11:22:10 -05:00
var audio_phase = false
2026-02-10 00:05:50 -05:00
func check_text_files(path):
var dir = DirAccess.open(path)
if dir:
dir.list_dir_begin()
var file_name = dir.get_next()
while file_name != "":
if not dir.current_is_dir():
var set_name = file_name.trim_suffix(".txt").capitalize()
var new_select_button = word_select_button.instantiate()
new_select_button.text = set_name
#print(set_name)
word_select.add_child(new_select_button)
file_name = dir.get_next()
else:
print("An error occurred when trying to access the path.")
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
$BackgroundMusic.play()
$BackgroundMusicAlt.play()
2026-02-10 00:05:50 -05:00
game_mode = null
2026-02-10 22:11:47 -05:00
header = self.get_node("Header")
2026-02-10 00:05:50 -05:00
fade = self.get_node("Fade")
fade.visible = true
main_buttons = self.get_node("MainButtons")
word_select = self.get_node("WordSelectScroll").get_node("WordSelect")
check_text_files("res://gameplay/word_sets")
var tween := create_tween()
tween.parallel().tween_property(fade, "modulate:a", 0, 0.5).set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
2026-02-15 11:22:10 -05:00
if audio_phase == true:
$BackgroundMusic.volume_db = -80
$BackgroundMusicAlt.volume_db = -10
else:
$BackgroundMusic.volume_db = -10
$BackgroundMusicAlt.volume_db = -80
2026-02-10 00:05:50 -05:00
func open_word_menu():
pass
func _on_comet_pressed() -> void:
2026-02-10 22:11:47 -05:00
header.text = "Select Word Set"
stage = 1
2026-02-10 00:05:50 -05:00
game_mode = "comet"
self.get_node("ButtonPress").play()
main_buttons.visible = false
word_select.visible = true
2026-02-15 11:22:10 -05:00
audio_phase = true
2026-02-10 00:05:50 -05:00
func _on_cascade_pressed() -> void:
2026-02-10 22:11:47 -05:00
header.text = "Select Word Set"
stage = 1
2026-02-10 00:05:50 -05:00
game_mode = "cascade"
self.get_node("ButtonPress").play()
main_buttons.visible = false
word_select.visible = true
2026-02-15 11:22:10 -05:00
audio_phase = true
func _on_lessons_pressed() -> void:
$Error.play()
func _on_options_pressed() -> void:
$Error.play()
2026-02-10 22:11:47 -05:00
func _on_quit_pressed() -> void:
$BackgroundMusic.stop()
$Bye.play()
var tween := create_tween()
tween.parallel().tween_property(fade, "modulate:a", 1, 0.5).set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
await get_tree().create_timer(1.5).timeout
get_tree().quit()
func _input(event):
if event is InputEventKey and event.pressed:
if event.keycode == KEY_ESCAPE:
if stage == 1:
header.text = "Select Mode"
$Back.play()
stage = 0
game_mode = null
main_buttons.visible = true
word_select.visible = false
2026-02-15 11:22:10 -05:00
audio_phase = false