19 lines
405 B
GDScript
19 lines
405 B
GDScript
extends Enemy
|
|
|
|
|
|
func _ready() -> void:
|
|
set_physics_process(false)
|
|
velocity.x = -40
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
velocity.y += _gravity * delta
|
|
if is_on_wall() or is_at_ledge():
|
|
velocity.x *= -1.0
|
|
velocity.y = move_and_slide(velocity, FLOOR_NORMAL).y
|
|
|
|
func is_at_ledge():
|
|
for raycast in $LedgeDetectorRays.get_children():
|
|
if !raycast.is_colliding():
|
|
return true
|
|
return false
|