feat: implement MovementStateMachine to manage modular player movement states and mechanics

This commit is contained in:
DottsGit
2026-06-10 22:21:41 -04:00
parent da4a6442c7
commit 18ab9da4a3
+3 -9
View File
@@ -260,21 +260,15 @@ func detect_wall_forward() -> Dictionary:
if not player:
return {"hit": false, "normal": Vector3.ZERO, "is_short": false}
var hvel := Vector3(player.velocity.x, 0.0, player.velocity.z)
var move_dir := Vector3.ZERO
if hvel.length_squared() > 0.1:
move_dir = hvel.normalized()
else:
move_dir = -player.global_transform.basis.z
var move_dir := -player.global_transform.basis.z
move_dir.y = 0.0
if move_dir.length_squared() > 0.01:
move_dir = move_dir.normalized()
if move_dir.length_squared() < 0.1:
else:
return {"hit": false, "normal": Vector3.ZERO, "is_short": false}
var space_state := player.get_world_3d().direct_space_state
var dist := params.wall_detect_distance
var dist := 1.2 # Increased to reliably detect walls at an angle
# Lower ray (feet/knees)
var origin_low := player.global_position + Vector3.UP * params.wall_ray_down_height