return input.actions[0]
-func update(input: InputPacket, delta: float):
- player.move_and_slide()
+func update(input: InputPacket, _delta: float):
+ # Get the XZ input direction based on player's input relative to the camera
+ var forward := camera.global_basis.z
+ var right := camera.global_basis.x
+ var move_direction := (
+ forward * input.movement_direction.y + right * input.movement_direction.x
+ ).normalized()
+ move_direction.y = 0
+
+ # TODO: check if new_pos is valid!
+ var new_pos := player.last_movement_direction * player.dash_length
+ player.global_position += new_pos