48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
|
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);
|
||
|
}
|
||
|
}
|
||
|
}
|