diff options
Diffstat (limited to 'Assets/Samples/XR Interaction Toolkit/3.1.2/Hands Interaction Demo/HandsDemoSceneAssets/Scripts/ToggleGraphicToggler.cs')
-rw-r--r-- | Assets/Samples/XR Interaction Toolkit/3.1.2/Hands Interaction Demo/HandsDemoSceneAssets/Scripts/ToggleGraphicToggler.cs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Assets/Samples/XR Interaction Toolkit/3.1.2/Hands Interaction Demo/HandsDemoSceneAssets/Scripts/ToggleGraphicToggler.cs b/Assets/Samples/XR Interaction Toolkit/3.1.2/Hands Interaction Demo/HandsDemoSceneAssets/Scripts/ToggleGraphicToggler.cs new file mode 100644 index 0000000..3fb0acc --- /dev/null +++ b/Assets/Samples/XR Interaction Toolkit/3.1.2/Hands Interaction Demo/HandsDemoSceneAssets/Scripts/ToggleGraphicToggler.cs @@ -0,0 +1,55 @@ +using UnityEngine.UI; + +namespace UnityEngine.XR.Interaction.Toolkit.Samples.Hands +{ + /// <summary> + /// Toggles between two graphic objects based on the state of a toggle. + /// </summary> + [RequireComponent(typeof(Toggle))] + public class ToggleGraphicToggler : MonoBehaviour + { + [SerializeField] + [Tooltip("Graphic object representing the toggle on position.")] + Graphic m_ToggleOnGraphic; + + [SerializeField] + [Tooltip("Graphic object representing the toggle off position.")] + Graphic m_ToggleOffGraphic; + + Toggle m_TargetToggle; + + /// <summary> + /// See <see cref="MonoBehaviour"/>. + /// </summary> + void Awake() + { + m_TargetToggle = GetComponent<Toggle>(); + } + + /// <summary> + /// See <see cref="MonoBehaviour"/>. + /// </summary> + void OnEnable() + { + m_TargetToggle.onValueChanged.AddListener(OnToggleValueChanged); + } + + /// <summary> + /// See <see cref="MonoBehaviour"/>. + /// </summary> + void OnDisable() + { + m_TargetToggle.onValueChanged.RemoveListener(OnToggleValueChanged); + } + + void OnToggleValueChanged(bool isOn) + { + if (isOn) + m_TargetToggle.targetGraphic = m_ToggleOnGraphic; + else + m_TargetToggle.targetGraphic = m_ToggleOffGraphic; + + m_ToggleOnGraphic.gameObject.SetActive(isOn); + } + } +} |