[DesktopVRSwitch] Stop being a baby.

???
This commit is contained in:
NotAKidoS 2023-06-21 14:06:12 -05:00
parent 133f5200b4
commit 6774c3ff6d
22 changed files with 205 additions and 169 deletions

View file

@ -19,30 +19,27 @@ public class CVRWorldTracker : VRModeTracker
private void OnPostSwitch(bool intoVR)
{
CVRWorld _cvrWorld = CVRWorld.Instance;
if (_cvrWorld == null)
{
DesktopVRSwitch.Logger.Error("Error while getting CVRWorld!");
return;
}
DesktopVRSwitch.Logger.Msg("Configuring CVRWorld. Updating PostProcessing & DesktopCameraController FOV settings.");
// some post processing settings aren't used in VR
_cvrWorld.UpdatePostProcessing();
UpdateCVRDesktopCameraController(_cvrWorld);
CVRWorld.Instance.UpdatePostProcessing();
UpdateCVRDesktopCameraController();
}
private void UpdateCVRDesktopCameraController(CVRWorld _cvrWorld)
private void UpdateCVRDesktopCameraController()
{
// Just making sure- Starting in VR will not call Start() as rig is disabled
if (CVR_DesktopCameraController._cam == null)
CVR_DesktopCameraController._cam = PlayerSetup.Instance.desktopCamera.GetComponent<Camera>();
CVR_DesktopCameraController.defaultFov = Mathf.Clamp(_cvrWorld.fov, 60f, 120f);
CVR_DesktopCameraController.defaultFov = Mathf.Clamp(CVRWorld.Instance.fov, 60f, 120f);
CVR_DesktopCameraController.zoomFov = CVR_DesktopCameraController.defaultFov * 0.5f;
CVR_DesktopCameraController.enableZoom = _cvrWorld.enableZoom;
CVR_DesktopCameraController.UpdateFov(); // must happen after PlayerSetupTracker
CVR_MenuManager.Instance.coreData.instance.current_game_rule_no_zoom = !_cvrWorld.enableZoom;
CVR_DesktopCameraController.enableZoom = CVRWorld.Instance.enableZoom;
// must happen after PlayerSetupTracker
CVR_DesktopCameraController.UpdateFov();
CVR_MenuManager.Instance.coreData.instance.current_game_rule_no_zoom = !CVRWorld.Instance.enableZoom;
// UICamera has a script that copies the FOV from the desktop cam.
// Toggling the cameras on/off resets the aspect ratio,