@export_group("Movement")
-@export var walk_speed := 8.0
+@export var walk_speed := 10.0
@export var dash_length := 10.0
-@export var air_speed := 3.0
-@export var acceleration := 30.0
+@export var acceleration := 20.0
@export var rotation_speed := 10.0
@export var idle_timeout := 5.0
-var idle_time := 0.0
+
+var idle_time := 0.00
+var last_movement_direction := rotation
var floor_normal := Vector3.ZERO
var ground_slope_input := 0.0
+var state := ""
+
+@onready var input: InputHandler = $Input
+@onready var model: PlayerModel = $Model
+@onready var skin: SkeletonSkin3D = $Visual
+@onready var camera_handler: CameraHandler = $CameraHandler
+
-@onready var _input: InputHandler = %Input
-@onready var _model: PlayerModel = %Model
+func _ready() -> void:
+ input.camera = %camera
+ camera_handler.input = input
+ skin.assign_skeleton(model.skeleton)
func _physics_process(delta: float) -> void:
- var input_pkt := _input.get_player_input()
- _model.update(input_pkt, delta)
+ var input_pkt := input.get_player_input()
+ model.update(input_pkt, delta)
+
+ # TODO: this is bad!!
+ model.skeleton.global_transform = skin.global_transform