Initial commit
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace XRMultiplayer
|
||||
{
|
||||
[RequireComponent(typeof(Toggle))]
|
||||
public class TooltipUI : MonoBehaviour
|
||||
{
|
||||
[SerializeField] GameObject m_TooltipObject;
|
||||
[SerializeField] bool m_StartShowing = false;
|
||||
Toggle m_Toggle;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
if (!TryGetComponent(out m_Toggle) || m_TooltipObject == null)
|
||||
{
|
||||
Utils.Log($"{gameObject.name} Missing Setup Requirements! Disabling Now.", 2);
|
||||
gameObject.SetActive(false);
|
||||
enabled = false;
|
||||
return;
|
||||
}
|
||||
m_Toggle.onValueChanged.AddListener(OnToggle);
|
||||
ResetTooltip();
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
m_Toggle.onValueChanged.RemoveListener(OnToggle);
|
||||
}
|
||||
|
||||
void OnToggle(bool toggle)
|
||||
{
|
||||
if (toggle)
|
||||
{
|
||||
ShowTooltip();
|
||||
}
|
||||
else
|
||||
{
|
||||
HideTooltip();
|
||||
}
|
||||
}
|
||||
|
||||
public void ShowTooltip()
|
||||
{
|
||||
m_TooltipObject.SetActive(true);
|
||||
}
|
||||
|
||||
public void HideTooltip()
|
||||
{
|
||||
if (m_Toggle.isOn) return;
|
||||
m_TooltipObject.SetActive(false);
|
||||
}
|
||||
|
||||
public void ResetTooltip()
|
||||
{
|
||||
m_Toggle.SetIsOnWithoutNotify(false);
|
||||
HideTooltip();
|
||||
if (m_StartShowing)
|
||||
{
|
||||
m_Toggle.isOn = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user