-- @outline // PUBLIC METHODS

function Camera:GetCFrame(dt)
	local Character = System.LocalPlayer.Character
	local HRP = Character and Character:FindFirstChild("HumanoidRootPart")
	if not Character or not HRP then return Cam.CFrame end
	
	-- Compute camera rotation
	local MouseDelta = UIS:GetMouseDelta()
	Camera.Rotation = Camera.Rotation + MouseDelta * 0.01 * UserSettings().GameSettings.MouseSensitivity
	
	-- Compute camera position
	local HeadPosition = HRP.Position + Vector3.yAxis * 2
	
	return CFrame.new(HeadPosition) * CFrame.fromEulerAnglesYXZ(-Camera.Rotation.Y, -Camera.Rotation.X, 0)
end
