| 1234567891011121314151617181920212223 |
- class_name LedgeDetectionCast
- extends RayCast2D
- @export var floor_normal := Vector2.UP
- @export var ray_length := 24
- var floor_direction := 1
- var direction := 1
- ## Hypotenuse = floor_angle
- ## Opposite = ???
- ## Adjacent = position.x
- func _physics_process(_delta: float) -> void:
- target_position.y = ray_length
- if floor_normal.x > 0:
- floor_direction = 1
- elif floor_normal.x < 0:
- floor_direction = -1
- else:
- position.y = -(ray_length / 2.0)
- return
- position.y = ((-floor_normal.y * (position.x)) * (floor_direction)) - (ray_length / 2.0)
|