Improved menu system
This commit is contained in:
parent
da78e7f287
commit
c95b8186ab
12 changed files with 181 additions and 111 deletions
58
InGameMenu.gd
Normal file
58
InGameMenu.gd
Normal 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()
|
||||
Loading…
Add table
Add a link
Reference in a new issue