GrappleTest/Objects/GroundSmasher/DualSmasher.gd

35 lines
923 B
GDScript3
Raw Normal View History

2024-03-13 16:15:55 -05:00
extends Node2D
var detecting = true
2024-03-17 21:56:16 -05:00
@export var once = false
2024-03-13 16:15:55 -05:00
2024-03-17 21:56:16 -05:00
func _on_anim_trigger_body_shape_entered(_body_rid, _body, _body_shape_index, _local_shape_index):
2024-03-13 16:15:55 -05:00
if detecting:
detecting = false
var tween = get_tree().create_tween()
tween.set_ease(Tween.EASE_IN)
tween.set_trans(Tween.TRANS_CUBIC)
tween.set_parallel(true)
tween.tween_property($SmasherBody, "position", Vector2(0, -66), 0.3)
tween.tween_property($SmasherBody2, "position", Vector2(0, 66), 0.3)
await tween.finished
2024-03-17 21:56:16 -05:00
if not once:
tween = get_tree().create_tween()
tween.set_ease(Tween.EASE_IN)
tween.set_trans(Tween.TRANS_SINE)
tween.set_parallel(true)
tween.tween_property($SmasherBody, "position", Vector2(0, -100), 2).set_delay(1)
tween.tween_property($SmasherBody2, "position", Vector2(0, 100), 2).set_delay(1)
await tween.finished
detecting = true
else:
$AnimTrigger.queue_free()
2024-03-13 16:15:55 -05:00