// Token: 0x06000746 RID: 1862 RVA: 0x00032488 File Offset: 0x00030688 private void SetCamera(Camera camera, Vector3 position, Quaternion rotation) { if (camera != this.MainCamera && camera != null) { this.ReleaseCamera(); this._cameraConfiguration.Parent = camera.transform.parent; this._cameraConfiguration.Fov = camera.fieldOfView; this._cameraConfiguration.CullingMask = camera.cullingMask; this.MainCamera = camera; this.MainCamera.cullingMask = LayerUtil.AddToLayerMask(this.MainCamera.cullingMask, new UberstrikeLayer[] { UberstrikeLayer.LocalProjectile }); this.MainCamera.transform.parent = base.transform; this.MainCamera.transform.localPosition = Vector3.zero; this.MainCamera.transform.localRotation = Quaternion.identity; this.ZoomData.TargetFOV = this.MainCamera.fieldOfView; this.Transform.position = position; this.Transform.rotation = rotation; this._audioListener.enabled = true; } }
// Token: 0x06000747 RID: 1863 RVA: 0x00032598 File Offset: 0x00030798 private void SetCameraMode(LevelCamera.CameraMode mode, Transform target) { this.Feedback.timeToEnd = 0f; LevelCamera.CurrentMode = mode; this._currentState.Finish(); if (LevelCamera.IsZoomedIn) { LevelCamera.DoZoomOut(75f, 10f); } if (this.MainCamera != null) { this.MainCamera.transform.localRotation = Quaternion.identity; this.MainCamera.transform.localPosition = Vector3.zero; switch (mode) { case LevelCamera.CameraMode.Disabled: this.TargetTransform = null; this._currentState = new LevelCamera.DisabledState(this, Vector3.zero); if (GameState.Current.Avatar.Decorator != null) { GameState.Current.Avatar.Decorator.gameObject.SetActive(true); } if (GameState.Current.Player.WeaponCamera != null) { GameState.Current.Player.WeaponCamera.IsEnabled = false; } break; case LevelCamera.CameraMode.FirstPerson: this.MainCamera.cullingMask = LayerUtil.RemoveFromLayerMask(this.MainCamera.cullingMask, new UberstrikeLayer[] { UberstrikeLayer.LocalPlayer, UberstrikeLayer.Weapons }); this.MainCamera.cullingMask = LayerUtil.AddToLayerMask(this.MainCamera.cullingMask, new UberstrikeLayer[] { UberstrikeLayer.RemoteProjectile }); this.TargetTransform = GameState.Current.Player.CameraTarget; this._currentState = new LevelCamera.FirstPersonState(this, GameState.Current.Player.EyePosition); if (GameState.Current.Avatar.Decorator != null) { GameState.Current.Avatar.Decorator.gameObject.SetActive(false); } if (GameState.Current.Player.WeaponCamera) { GameState.Current.Player.WeaponCamera.IsEnabled = true; } break; case LevelCamera.CameraMode.OrbitAround: this.MainCamera.cullingMask = LayerUtil.AddToLayerMask(this.MainCamera.cullingMask, new UberstrikeLayer[] { UberstrikeLayer.LocalPlayer }); this.TargetTransform = GameState.Current.Player.CameraTarget; this.RotationOffset = 180f; this._currentState = new LevelCamera.OrbitAroundState(this, new Vector3(0f, -0.5f, 0f)); if (GameState.Current.Avatar.Decorator != null && GameState.Current.Avatar.Ragdoll == null) { GameState.Current.Avatar.Decorator.gameObject.SetActive(true); } if (GameState.Current.Player.WeaponCamera) { GameState.Current.Player.WeaponCamera.IsEnabled = false; } break; case LevelCamera.CameraMode.Paused: this.MainCamera.cullingMask = LayerUtil.AddToLayerMask(this.MainCamera.cullingMask, new UberstrikeLayer[] { UberstrikeLayer.LocalPlayer }); this.TargetTransform = GameState.Current.Player.CameraTarget; this.RotationOffset = 0f; this._currentState = new LevelCamera.OrbitAroundState(this, new Vector3(0f, -0.5f, 0f)); if (GameState.Current.Avatar.Decorator != null && GameState.Current.Avatar.Ragdoll == null) { GameState.Current.Avatar.Decorator.gameObject.SetActive(true); } if (GameState.Current.Player.WeaponCamera) { GameState.Current.Player.WeaponCamera.IsEnabled = false; } break; case LevelCamera.CameraMode.FreeSpectator: this.MainCamera.cullingMask = LayerUtil.AddToLayerMask(this.MainCamera.cullingMask, new UberstrikeLayer[] { UberstrikeLayer.LocalPlayer }); this.TargetTransform = null; this._currentState = new LevelCamera.SpectatorState(this, Vector3.zero); if (GameState.Current.Avatar.Decorator != null) { GameState.Current.Avatar.Decorator.gameObject.SetActive(false); } if (GameState.Current.Player.WeaponCamera) { GameState.Current.Player.WeaponCamera.IsEnabled = false; } break; case LevelCamera.CameraMode.SmoothFollow: this.MainCamera.cullingMask = LayerUtil.AddToLayerMask(this.MainCamera.cullingMask, new UberstrikeLayer[] { UberstrikeLayer.LocalPlayer }); this.TargetTransform = target; this._currentState = new LevelCamera.SmoothFollowState(this, new Vector3(0f, 1.3f, 0f)); break; case LevelCamera.CameraMode.Ragdoll: this.MainCamera.cullingMask = LayerUtil.AddToLayerMask(this.MainCamera.cullingMask, new UberstrikeLayer[] { UberstrikeLayer.LocalPlayer }); this.TargetTransform = GameState.Current.Avatar.Ragdoll.GetBone(BoneIndex.Hips); this._currentState = new LevelCamera.RagdollState(this, new Vector3(0f, 1f, 0f)); if (GameState.Current.Player.WeaponCamera) { GameState.Current.Player.WeaponCamera.IsEnabled = false; } break; default: Debug.LogError("Camera does not support " + mode.ToString()); break; } } }