Added airborne locomotion state

This commit is contained in:
pbentes 2024-09-01 14:36:21 +01:00
parent d4a4b6ce4a
commit d3e82d32ee

View File

@ -0,0 +1,23 @@
extends LocomotionState
@onready var locomotion: CharacterBody3D = $"../../Locomotion"
@onready var player: Node3D = $"../.."
@onready var head: Node3D = $"../../Locomotion/Head"
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
func physics_update(delta: float) -> void:
if locomotion.is_on_floor():
if Input.is_action_pressed("duck"):
transition.emit("Ducking")
return
transition.emit("Running")
return
locomotion.velocity.y -= gravity * delta
player.process_input()
locomotion.velocity = locomotion.update_velocity(delta, false)
locomotion.move_and_slide()