Improved menu system

This commit is contained in:
Sch1nken 2024-03-23 17:49:33 +01:00
parent da78e7f287
commit c95b8186ab
12 changed files with 181 additions and 111 deletions

58
InGameMenu.gd Normal file
View file

@ -0,0 +1,58 @@
extends Control
@onready var panel_container = $PanelContainer
@onready var margin_container2 = $Pivot/MarginContainer
const SETTINGS = preload("res://UI/Settings/Settings.tscn")
var mat: ShaderMaterial
func show_panel() -> void:
margin_container2.position.y = 700
mat.set_shader_parameter("lod", 0)
visible = true
var tween = get_tree().create_tween()
tween.set_parallel(true)
tween.tween_method(tween_blur, 0.0, 1.0, 0.5).set_trans(Tween.TRANS_EXPO).set_ease(Tween.EASE_IN_OUT)
tween.tween_property(margin_container2, "position:y", 0.0, 0.5).set_trans(Tween.TRANS_BACK).set_ease(Tween.EASE_OUT)
# Called when the node enters the scene tree for the first time.
func _ready():
mat = panel_container.material
pass # Replace with function body.
func tween_blur(val: float) -> void:
mat.set_shader_parameter("lod", val)
pass
func hide_panel() -> void:
var tween = get_tree().create_tween()
tween.set_parallel(true)
tween.tween_method(tween_blur, 1.0, 0.0, 0.5).set_trans(Tween.TRANS_EXPO).set_ease(Tween.EASE_IN_OUT)
tween.tween_property(margin_container2, "position:y", 700, 0.5).set_trans(Tween.TRANS_BACK).set_ease(Tween.EASE_IN)
tween.finished.connect(_on_panel_hidden)
func _on_panel_hidden() -> void:
visible = false
queue_free()
func _on_close_button_pressed():
hide_panel()
func _on_settings_pressed():
var settings = SETTINGS.instantiate()
get_tree().root.add_child(settings)
settings.show_panel()
func _on_exit_button_pressed():
get_tree().change_scene_to_file("res://UI/main_menu.tscn")
queue_free()