private void Deactivate() { _lastStep = null; _transition = null; if (_camExposureBackup != 0f) { _camExposureJSON.val = _camExposureBackup; _camExposureBackup = 0f; } if (_navigationHologridEnabledBackup != null) { _navigationHologridRenderer.enabled = _navigationHologridEnabledBackup.Value; _navigationHologridEnabledBackup = null; } if (_navigationRigActive) { RestorePassenger(); _navigationRigBackup?.Restore(); _navigationRigBackup = null; _navigationRigActive = false; } if (_windowCameraActive) { _windowCameraBackup?.Restore(); _windowCameraBackup = null; _windowCameraActive = false; } }
public static WindowCameraBackup Snapshot(Atom windowCamera, FreeControllerV3 windowCameraController) { var value = new WindowCameraBackup(); value._atom = windowCamera; value._controller = windowCameraController; value._previousOn = windowCamera.GetBoolJSONParam("on").val; value._previousRotation = windowCameraController.transform.rotation; value._previousPosition = windowCameraController.transform.position; return(value); }
private void ActivateWindowCamera() { _windowCamera = SuperController.singleton.GetAtomByUid("WindowCamera"); if (_windowCamera == null) { SuperController.LogError("There is no 'WindowCamera' atom in the scene, maybe you deleted or renamed it?"); Deactivate(); _modeJSON.val = Modes.None; return; } _failedOnce = false; _windowCameraController = _windowCamera.freeControllers[0]; _windowCameraBackup = WindowCameraBackup.Snapshot(_windowCamera, _windowCameraController); _windowCamera.GetBoolJSONParam("on").val = true; _windowCameraController.containingAtom.hidden = true; _windowCameraActive = true; }