2024-03-22 01:37:05 +01:00
|
|
|
extends MeshInstance3D
|
|
|
|
|
|
|
|
|
|
var mat: ShaderMaterial
|
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
|
|
|
func _ready():
|
2024-03-30 01:43:38 +01:00
|
|
|
GameEvents.game_started.connect(_on_game_started)
|
2024-03-22 01:37:05 +01:00
|
|
|
mat = get_active_material(0)
|
2024-03-30 01:43:38 +01:00
|
|
|
mat.set_shader_parameter("distance_fade_max", -1.0)
|
|
|
|
|
mat.set_shader_parameter("distance_fade_min", 0.0)
|
|
|
|
|
|
|
|
|
|
func _on_game_started() -> void:
|
|
|
|
|
|
2024-03-22 01:37:05 +01:00
|
|
|
|
|
|
|
|
var tween = get_tree().create_tween()
|
|
|
|
|
tween.set_parallel(true)
|
|
|
|
|
tween.tween_method(tween_inner, -1.0, 10.0, 3.5).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_EXPO)
|
|
|
|
|
tween.tween_method(tween_outer, 0.0, 25.0, 3.5).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CIRC)
|
|
|
|
|
|
|
|
|
|
func tween_inner(value: float) -> void:
|
|
|
|
|
mat.set_shader_parameter("distance_fade_max", value)
|
|
|
|
|
|
|
|
|
|
func tween_outer(value: float) -> void:
|
|
|
|
|
mat.set_shader_parameter("distance_fade_min", value)
|
|
|
|
|
|
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
|
|
|
func _process(delta):
|
|
|
|
|
pass
|