77 lines
2.1 KiB
GDScript
77 lines
2.1 KiB
GDScript
extends Control
|
|
|
|
@export_group("Node References")
|
|
@export var lose_panel : PanelContainer
|
|
@export var lose_label : Label
|
|
@export var reset_label : Label
|
|
@export var start_level : PanelContainer
|
|
@export var level_title : Label
|
|
@export var clock_progress : TextureProgressBar
|
|
@export var clock_label : Label
|
|
@export var volume_slider : HSlider
|
|
@export var music_slider : HSlider
|
|
@export var level_name : Label
|
|
@export var pause_menu : MarginContainer
|
|
|
|
var title_fade : float = 2.5
|
|
var sound = AudioServer.get_bus_index("SoundFX")
|
|
var music = AudioServer.get_bus_index("Music")
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready():
|
|
lose_panel.visible = false
|
|
volume_slider.value = db_to_linear(AudioServer.get_bus_volume_db(sound))
|
|
music_slider.value = db_to_linear(AudioServer.get_bus_volume_db(music))
|
|
pass # Replace with function body.
|
|
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta):
|
|
title_fade -= delta
|
|
start_level.modulate.a = clamp(title_fade,0,1)
|
|
pass
|
|
|
|
func show_lose_screen(lose_text : String, reset_timer : float):
|
|
lose_panel.visible = true
|
|
if lose_text != "":
|
|
lose_label.text = lose_text
|
|
reset_label.text = "Resetting in: " + str(round(reset_timer*10)/10)
|
|
|
|
func hide_lose_screen():
|
|
lose_panel.visible = false
|
|
clock_progress.value = 0
|
|
clock_label.text = str(0)
|
|
pass
|
|
|
|
func show_level_title(title : String):
|
|
level_title.text = title
|
|
level_name.text = title
|
|
title_fade = 2
|
|
|
|
func onTick(tick : int):
|
|
clock_progress.value = tick
|
|
if(tick == 11):
|
|
clock_label.text = str(10)
|
|
else:
|
|
clock_label.text = str(tick)
|
|
|
|
func open_pause():
|
|
pause_menu.show()
|
|
|
|
func close_pause():
|
|
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
|
pause_menu.hide()
|
|
get_parent().process_mode = Node.PROCESS_MODE_INHERIT
|
|
|
|
|
|
func goto_menu():
|
|
get_tree().change_scene_to_file(GameManager.menu_scene_path)
|
|
|
|
|
|
func _on_h_slider_value_changed(value: float) -> void:
|
|
AudioServer.set_bus_volume_db(sound, linear_to_db(value))
|
|
|
|
|
|
|
|
func _on_music_slider_value_changed(value: float) -> void:
|
|
AudioServer.set_bus_volume_db(music, linear_to_db(value))
|