Swarm/UI/Settings/Settings.gd
2024-03-23 17:49:33 +01:00

41 lines
1.2 KiB
GDScript

extends Control
@onready var panel_container = $PanelContainer
@onready var margin_container2 = $Pivot/MarginContainer
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.duplicate()
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_cancel_pressed():
hide_panel()