57 lines
1.4 KiB
C#
57 lines
1.4 KiB
C#
|
///Credit Martin Sharkbomb
|
|||
|
///Sourced from - http://forum.unity3d.com/threads/tooltips.264395/#post-1957075
|
|||
|
|
|||
|
namespace UnityEngine.UI.Extensions
|
|||
|
{
|
|||
|
[AddComponentMenu("UI/Extensions/Bound Tooltip/Tooltip Item")]
|
|||
|
public class BoundTooltipItem : MonoBehaviour
|
|||
|
{
|
|||
|
public bool IsActive
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return gameObject.activeSelf;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public UnityEngine.UI.Text TooltipText;
|
|||
|
public Vector3 ToolTipOffset;
|
|||
|
|
|||
|
void Awake()
|
|||
|
{
|
|||
|
instance = this;
|
|||
|
if(!TooltipText) TooltipText = GetComponentInChildren<Text>();
|
|||
|
HideTooltip();
|
|||
|
}
|
|||
|
|
|||
|
public void ShowTooltip(string text, Vector3 pos)
|
|||
|
{
|
|||
|
if (TooltipText.text != text)
|
|||
|
TooltipText.text = text;
|
|||
|
|
|||
|
transform.position = pos + ToolTipOffset;
|
|||
|
|
|||
|
gameObject.SetActive(true);
|
|||
|
}
|
|||
|
|
|||
|
public void HideTooltip()
|
|||
|
{
|
|||
|
gameObject.SetActive(false);
|
|||
|
}
|
|||
|
|
|||
|
// Standard Singleton Access
|
|||
|
private static BoundTooltipItem instance;
|
|||
|
public static BoundTooltipItem Instance
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (instance == null)
|
|||
|
instance = GameObject.FindObjectOfType<BoundTooltipItem>();
|
|||
|
return instance;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|