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

View file

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