ape-ame/riangle_spawner.gd
2024-04-30 15:37:00 -04:00

29 lines
837 B
GDScript

extends Node2D
var riangle = preload("res://riangle-tar.tscn")
func spawn():
var tween = get_tree().create_tween()
tween.set_parallel(true)
tween.set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
for zone in get_children():
var node = riangle.instantiate()
zone.add_child(node)
node.global_rotation = zone.global_rotation
node.global_position = global_position
tween.tween_property(node, "position", Vector2.ZERO, 0.5)
func eject():
for spawner in get_children():
var riangle = spawner.get_child(0)
if riangle == null:
return
riangle.freeze = false
riangle.apply_central_impulse(Vector2(500, randi_range(-100, 100)).rotated(spawner.rotation))
await get_tree().create_timer(0.05).timeout
if riangle == null:
return
riangle.reparent($/root/Node2D)
await get_tree().create_timer(0.1).timeout