summaryrefslogtreecommitdiff
path: root/Assets/Samples/XR Interaction Toolkit/3.1.2/Hands Interaction Demo/HandsDemoSceneAssets/Scripts/ToggleGraphicToggler.cs
diff options
context:
space:
mode:
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.cs55
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);
+ }
+ }
+}