Swarm/Table.gd

27 lines
925 B
GDScript

extends MeshInstance3D
var mat: ShaderMaterial
# Called when the node enters the scene tree for the first time.
func _ready():
GameEvents.game_started.connect(_on_game_started)
mat = get_active_material(0)
mat.set_shader_parameter("distance_fade_max", -1.0)
mat.set_shader_parameter("distance_fade_min", 0.0)
func _on_game_started() -> void:
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