extends Node3D @export var vertical_joystick_sensitity : float = 2 @export var vertical_mouse_sensitivity : float = 0.02 var max_angle_radians = 1.5 @onready var current_fov:float = 75 func _process(delta): if not GlobalSettings.is_paused: var look_velocity = Input.get_vector("look_left", "look_right", "look_up", "look_down") var rotate_degree = -look_velocity.y * (GlobalSettings.GetSetting(GlobalSettings.Setting.Joystick_Speed)) *delta var rotation_after = rotate_degree + rotation.x if rotation_after <= max_angle_radians and rotate_degree > 0: rotate_x(rotate_degree) elif rotation_after >= -max_angle_radians and rotate_degree < 0: rotate_x(rotate_degree) var setting_fov = GlobalSettings.GetSetting(GlobalSettings.Setting.FOV) if setting_fov != current_fov: current_fov = setting_fov $Camera.fov = current_fov func _unhandled_input(event): if not GlobalSettings.is_paused: if event is InputEventMouseMotion: var mouse_movement = -event.relative.y var rotate_amount = mouse_movement * (GlobalSettings.GetSetting(GlobalSettings.Setting.Mouse_Speed) / 100) var rotation_after = rotate_amount + rotation.x if rotation_after <= max_angle_radians and rotate_amount > 0: rotate_x(rotate_amount) elif rotation_after >= -max_angle_radians and rotate_amount < 0: rotate_x(rotate_amount)