class_name Player
+@export_group("Movement")
+@export var walk_speed := 8.0
+@export var dash_length := 10.0
+@export var air_speed := 3.0
+@export var acceleration := 20.0
+@export var rotation_speed := 10.0
+@export var idle_timeout := 5.0
+
+var idle_time := 0.00
+var last_movement_direction := Vector3.ZERO
+var state := ""
+var floor_normal := Vector3.ZERO
+var ground_slope_input := 0.0
+
@onready var _input: InputHandler = %Input
@onready var _model: PlayerModel = %Model
func _physics_process(delta: float) -> void:
var input_pkt := _input.get_player_input()
- velocity = _model.get_velocity_by_input(input_pkt, delta)
- move_and_slide()
+ _model.update(input_pkt, delta)