fix turning platforms suspending SG again

This commit is contained in:
Haze Weathers 2023-05-16 23:25:42 -04:00
parent 8d2c0248e1
commit ad59e73568
2 changed files with 12 additions and 11 deletions

View file

@ -2,12 +2,12 @@ extends Node2D
onready var anims = $AnimationPlayer
onready var flip_timer = $FlipTimer
onready var delay_timer = $DelayTimer
onready var body = $StaticBody2D
onready var static_body = $StaticBody2D
export var time:float = 60
export var delay = 0.0
export(int, "Wood", "Yellow") var color
onready var time_ms = time / 60.0 # Time is converted from frames @ 60fps to ms
onready var collision_layer = body.collision_layer
onready var collision_layer = static_body.collision_layer
func _ready():
#Auto start if delay variable is zero
@ -25,6 +25,7 @@ func _on_AnimationPlayer_animation_finished(anim_name):
anims.play("idle")
flip_timer.start(time_ms)
func _on_FlipTimer_timeout():
anims.play("turn")
@ -34,10 +35,10 @@ func _on_DelayTimer_timeout():
flip_timer.start(time_ms)
func _on_DetectPlayer_area_entered(area):
if area.is_in_group("player_hitbox"):
body.collision_layer = 0
func _on_DetectPlayer_body_entered(body: Node) -> void:
if body.is_in_group("player"):
static_body.collision_layer = 0
func _on_DetectPlayer_area_exited(area):
if area.is_in_group("player_hitbox"):
body.collision_layer = collision_layer
func _on_DetectPlayer_body_exited(body: Node) -> void:
if body.is_in_group("player"):
static_body.collision_layer = collision_layer

View file

@ -122,7 +122,7 @@ one_way_collision_margin = 0.0
[node name="DetectPlayer" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 2
collision_mask = 128
monitorable = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="DetectPlayer"]
@ -138,8 +138,8 @@ anims/turn = SubResource( 3 )
[node name="DelayTimer" type="Timer" parent="."]
one_shot = true
[connection signal="area_entered" from="DetectPlayer" to="." method="_on_DetectPlayer_area_entered"]
[connection signal="area_exited" from="DetectPlayer" to="." method="_on_DetectPlayer_area_exited"]
[connection signal="body_entered" from="DetectPlayer" to="." method="_on_DetectPlayer_body_entered"]
[connection signal="body_exited" from="DetectPlayer" to="." method="_on_DetectPlayer_body_exited"]
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"]
[connection signal="timeout" from="FlipTimer" to="." method="_on_FlipTimer_timeout"]
[connection signal="timeout" from="DelayTimer" to="." method="_on_DelayTimer_timeout"]