namespace UnityEngine.XR.Interaction.Toolkit.Samples.Hands { /// <summary> /// Toggles the active state of a GameObject. /// </summary> public class ToggleGameObject : MonoBehaviour { [SerializeField] [Tooltip("The GameObject to toggle the active state for.")] GameObject m_ActivationGameObject; /// <summary> /// The GameObject to toggle the active state for. /// </summary> public GameObject activationGameObject { get => m_ActivationGameObject; set => m_ActivationGameObject = value; } [SerializeField] [Tooltip("Whether the GameObject is currently active.")] bool m_CurrentlyActive; /// <summary> /// Whether the GameObject is currently active. /// </summary> public bool currentlyActive { get => m_CurrentlyActive; set { m_CurrentlyActive = value; activationGameObject.SetActive(m_CurrentlyActive); } } /// <summary> /// Toggles the active state of the GameObject. /// </summary> public void ToggleActiveState() { m_CurrentlyActive = !m_CurrentlyActive; activationGameObject.SetActive(m_CurrentlyActive); } } }