using System; using UnityEngine; public class OvrHandItemMgr : MonoBehaviour { public int ModelNum { get { return this.m_goItem.Length; } } public void SetButtons(AVRControllerButtons f_buttons) { this.m_buttons = f_buttons; } private void Awake() { this.m_vBackPos = base.transform.localPosition; } private void Start() { this.ChangeModel(0); } private void OnEnable() { if (OvrIK.IsModeVRIK) { if (this.m_ctrl != null) { if (this.m_ctrl.m_bHandL) { base.transform.localPosition = new Vector3(0.009f, -0.068f, -0.109f); } else { base.transform.localPosition = new Vector3(-0.021f, -0.044f, -0.1f); } } } else { base.transform.localPosition = this.m_vBackPos; } } public void ChangeModel(int f_nType) { if (Product.isPublic) { f_nType = 0; } for (int i = 0; i < this.m_goItem.Length; i++) { GameObject gameObject = this.m_goItem[i]; if (i == f_nType) { gameObject.SetActive(true); } else { gameObject.SetActive(false); } } } public void NextModel() { this.m_nModel++; if (this.m_goItem.Length <= this.m_nModel) { this.m_nModel = 0; } this.ChangeModel(this.m_nModel); } private void Update() { if (this.m_buttons != null) { if (this.m_buttons.GetPressDown(AVRControllerButtons.BTN.VIRTUAL_MENU)) { this.m_fMenuPressBeforeTime = Time.realtimeSinceStartup; } else if (this.m_buttons.GetPress(AVRControllerButtons.BTN.VIRTUAL_MENU) && Time.realtimeSinceStartup - this.m_fMenuPressBeforeTime > 1f) { this.NextModel(); this.m_fMenuPressBeforeTime = Time.realtimeSinceStartup; } } } public GameObject[] m_goItem = new GameObject[1]; public AVRControllerBehavior m_ctrl; private Vector3 m_vBackPos; private AVRControllerButtons m_buttons; private int m_nModel; private float m_fMenuPressBeforeTime; }