protected override void OnAwake(PlayerActor player) { this._actorCamera = player.CameraControl; this._camera = this._actorCamera.CameraComponent; this._prevShotType = this._actorCamera.ShotType; if (this._prevShotType != ShotType.PointOfView) { this._actorCamera.ShotType = ShotType.PointOfView; } this._prevCameraChangeable = this._actorCamera.IsChangeable; if (this._prevCameraChangeable) { this._actorCamera.IsChangeable = false; } this._prevFieldOfView = (float)this._actorCamera.LensSetting.FieldOfView; this._prevDutch = (float)this._actorCamera.LensSetting.Dutch; this._followRoot = ((CinemachineVirtualCameraBase)this._actorCamera.ActiveFreeLookCamera)?.get_Follow(); if (Object.op_Inequality((Object)this._followRoot, (Object)null)) { this._prevCameraLocalPosition = this._followRoot.get_localPosition(); this._prevCameraLocalRotation = this._followRoot.get_localRotation(); } this._cameraLayer = Singleton <Resources> .Instance.DefinePack.MapDefines.MapLayer; MapUIContainer.SetCommandLabelAcception(CommandLabel.AcceptionState.None); MapUIContainer.SetVisibleHUD(false); if (Singleton <Resources> .IsInstance()) { LocomotionProfile.LensSettings defaultLensSetting = Singleton <Resources> .Instance.LocomotionProfile.DefaultLensSetting; LocomotionProfile.PhotoShotSetting photoShot = Singleton <Resources> .Instance.LocomotionProfile.PhotoShot; MapUIContainer.PhotoShotUI.SetZoomValue(Mathf.InverseLerp(defaultLensSetting.MinFOV, defaultLensSetting.MaxFOV, this._prevFieldOfView)); } else { MapUIContainer.PhotoShotUI.SetZoomValue(0.5f); } MapUIContainer.SetActivePhotoShotUI(true); ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>((IObservable <M0>) this._onEndAction, 1), (Action <M0>)(_ => { this._updatable = false; player.PlayerController.ChangeState("Normal"); })); this._updatable = true; }