class_name Player extends CharacterBody3D signal playerReady signal playerTurn @export_category("Movement") @export var speed = 5.0 @export_category("Camera") @export var distance = 3.0 @onready var _springArm = $SpringArm3D func _ready() -> void: _springArm.spring_length = distance playerReady.emit(self) func _input(event: InputEvent) -> void: if event.is_action_pressed("player_left"): playerTurn.emit(self) global_rotate(Vector3.UP, PI/2) elif event.is_action_pressed("player_right"): playerTurn.emit(self) global_rotate(Vector3.UP, -PI/2) func _physics_process(_delta: float) -> void: velocity = global_transform.basis.z * speed move_and_slide()