//========= Copyright 2016-2018, HTC Corporation. All rights reserved. =========== using System; using UnityEngine; using UnityEngine.UI; namespace HTC.UnityPlugin.Vive.BindingInterface { public class BindingInterfaceRoleButtonItem : MonoBehaviour { [SerializeField] private Toggle m_toggle; [SerializeField] private Text m_textRoleName; private bool m_disableEventOnce; public string roleName { get { return m_textRoleName.text; } set { m_textRoleName.text = value; } } public int roleValue { get; set; } public event Action onValueChanged; public void SetIsOn() { if (!m_toggle.isOn) { m_toggle.isOn = true; m_toggle.group.NotifyToggleOn(m_toggle); } } public void SetIsOnNoEvent() { if (!m_toggle.isOn) { m_disableEventOnce = true; m_toggle.isOn = true; } } public void OnValueChanged(bool isOn) { if (m_disableEventOnce) { m_disableEventOnce = false; } else if (isOn) { if (onValueChanged != null) { onValueChanged(roleValue); } } } } }