using System; using UnityEngine; public class OvrUI : MonoBehaviour { private void Start() { this.m_qGui = Quaternion.Euler(0f, -180f, 0f); this.m_trOvrScr = UTY.GetChildObject(base.gameObject, "ovr_screen", false).transform; this.m_fDistanceLimitFar = (this.m_fDistanceNow = this.m_trOvrScr.localPosition.z); this.CalcAngleLimit(); } private void CalcAngleLimit() { this.m_fDistanceParNow = this.m_fDistanceNow / this.m_fDistanceLimitFar; this.m_fAngleLimitNow = this.m_fAngleLimitNear + (this.m_fAngleLimitFar - this.m_fAngleLimitNear) * this.m_fDistanceParNow; } private void Update() { if (Input.GetKey(KeyCode.UpArrow)) { this.m_fDistanceNow += 0.1f * Time.deltaTime; } if (Input.GetKey(KeyCode.DownArrow)) { this.m_fDistanceNow -= 0.1f * Time.deltaTime; } if (this.m_fDistanceNow > this.m_fDistanceLimitFar) { this.m_fDistanceNow = this.m_fDistanceLimitFar; } else if (this.m_fDistanceNow < this.m_fDistanceLimitNear) { this.m_fDistanceNow = this.m_fDistanceLimitNear; } this.m_trOvrScr.localPosition = new Vector3(0f, 0f, this.m_fDistanceNow); this.CalcAngleLimit(); Vector3 vector = Vector3.forward; Vector3 vector2 = Vector3.forward; vector = this.m_goCenter.transform.rotation * vector; vector2 = base.transform.rotation * vector2; float num = Vector3.Angle(vector2, vector); if (num > this.m_fAngleLimitNow) { this.m_qGui = Quaternion.Lerp(this.m_qGui, this.m_goCenter.transform.rotation, this.m_speed); } base.transform.rotation = this.m_qGui; CameraMain.FadeState fadeState = GameMain.Instance.MainCamera.GetFadeState(); if (Input.GetKey(KeyCode.U) || (this.m_BefFadeState != fadeState && fadeState == CameraMain.FadeState.ProcIn)) { base.transform.rotation = (this.m_qGui = this.m_goCenter.transform.rotation); } this.m_BefFadeState = fadeState; } public float m_speed = 0.05f; public float m_fAngleLimitFar = 40f; public float m_fAngleLimitNear = 90f; private float m_fAngleLimitNow = 40f; public float m_fDistanceLimitNear = 0.1f; private float m_fDistanceLimitFar = 0.4f; private float m_fDistanceNow = 0.4f; private float m_fDistanceParNow; public GameObject m_goCenter; private Quaternion m_qGui = Quaternion.identity; private Transform m_trOvrScr; private CameraMain.FadeState m_BefFadeState; }