limbo hsm

This commit is contained in:
2026-10-15 16:56:45 +08:00
parent 18e7b2daa8
commit a76c4aebef
30 changed files with 665 additions and 121 deletions
+19
View File
@@ -0,0 +1,19 @@
extends PlayerGroundState
## 蹲走(潜行):目标速度 = crouch_speed,播 sneak。
## 蹲伏优先于疾跑:蹲着按 Shift 也只是潜行。
func _enter() -> void:
var player := get_agent() as Player
player.motor.target_speed = player.motor.crouch_speed
player.motor.sprinting = false
player.motor.crouching = true
player.animation_player.play_state(PlayerAnimator.AnimState.SNEAK, player.motor.crouch_speed)
func _think(_delta: float) -> void:
var player := get_agent() as Player
if not Input.is_action_pressed("crouch"):
dispatch(&"crouch_end")
elif not player.motor.has_move_input():
dispatch(&"move_stop")