I don't know why my code is returning a null/nil value when the object its talking about is present and assigned somewhere:
mouse capture script:
@export var debug:bool = true
@export_category("Mouse Capture Settings")
@export var current_mouse_mode : Input.MouseMode = Input.MOUSE_MODE_CAPTURED
@export var mouse_sensitivity : float = 0.005
@export var camera_controller : CameraController
@export var _capture_mouse : bool
@export var _mouse_input : Vector2
func _unhandled_input(event: InputEvent) -> void:
_capture_mouse = event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED
if _capture_mouse:
_mouse_input.x += -event.screen_relative.x * mouse_sensitivity
_mouse_input.y += -event.screen_relative.y * mouse_sensitivity
if debug:
print(_mouse_input)
func _ready() -> void:
Input.mouse_mode = current_mouse_mode
func _process(_delta:float) -> void:
_mouse_input= Vector2.ZERO
Camera controller script:
@export var debug :bool = true
@export_category("References")
@export var player_controller : PlayerController
@export var component_mouse_capture : MouseCaptureComponent
@export_category("Camera Settings")
@export_group("Camera Tilt")
@export_range(-90,-60) var tilt_lower_limit : int = -90
@export_range(60,90) var tilt_upper_limit : int = 90
var _rotation : Vector3
func _process(_delta: float) -> void:
update_camera_rotation(component_mouse_capture._mouse_input)
func update_camera_rotation(input:Vector2) -> void:
_rotation.x += input.y
_rotation.y += input.x
_rotation.x = clamp(_rotation.x, deg_to_rad(tilt_lower_limit),deg_to_rad(tilt_upper_limit))
var _player_rotation = Vector3(0.0,_rotation.y,0.0)
var _camera_rotation = Vector3(rotation.x,0.0,0.0)
transform.basis = Basis.from_euler((_camera_rotation))
player_controller.update_rotation(_player_rotation)
_rotation.z = 0.0
could anyone maybe point me to the problem in my code?
also god damn adding the code here isn't working properly? (Now fixed, I'm dumb)