tooltip positionig relative to triggering object

--HG--
branch : xesenix_upgrades
release
Paweł Kapalla 2015-10-17 18:30:30 +02:00
parent c4bd48ef4f
commit 0c15f75001
1 changed files with 54 additions and 39 deletions

View File

@ -1,39 +1,54 @@
///Credit Martin Nerurkar // www.martin.nerurkar.de // www.sharkbombs.com ///Credit Martin Nerurkar // www.martin.nerurkar.de // www.sharkbombs.com
///Sourced from - http://www.sharkbombs.com/2015/02/10/tooltips-with-the-new-unity-ui-ugui/ ///Sourced from - http://www.sharkbombs.com/2015/02/10/tooltips-with-the-new-unity-ui-ugui/
using UnityEngine.EventSystems;
using UnityEngine.EventSystems;
namespace UnityEngine.UI.Extensions
namespace UnityEngine.UI.Extensions {
{ [AddComponentMenu("UI/Extensions/Bound Tooltip/Tooltip Trigger")]
[AddComponentMenu("UI/Extensions/Bound Tooltip/Tooltip Trigger")] public class BoundTooltipTrigger : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, ISelectHandler, IDeselectHandler
public class BoundTooltipTrigger : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, ISelectHandler, IDeselectHandler {
{ [TextAreaAttribute]
public string text; public string text;
public void OnPointerEnter(PointerEventData eventData) public bool useMousePosition = false;
{
StartHover(new Vector3(eventData.position.x, eventData.position.y, 0f)); public Vector3 offset;
}
public void OnSelect(BaseEventData eventData) public void OnPointerEnter(PointerEventData eventData)
{ {
StartHover(transform.position); if (useMousePosition)
} {
public void OnPointerExit(PointerEventData eventData) StartHover(new Vector3(eventData.position.x, eventData.position.y, 0f));
{ }
StopHover(); else
} {
public void OnDeselect(BaseEventData eventData) StartHover(transform.position + offset);
{ }
StopHover(); }
}
public void OnSelect(BaseEventData eventData)
void StartHover(Vector3 position) {
{ StartHover(transform.position);
BoundTooltipItem.Instance.ShowTooltip(text, position); }
}
void StopHover() public void OnPointerExit(PointerEventData eventData)
{ {
BoundTooltipItem.Instance.HideTooltip(); StopHover();
} }
}
} public void OnDeselect(BaseEventData eventData)
{
StopHover();
}
void StartHover(Vector3 position)
{
BoundTooltipItem.Instance.ShowTooltip(text, position);
}
void StopHover()
{
BoundTooltipItem.Instance.HideTooltip();
}
}
}