using UnityEngine; using UnityEngine.EventSystems; using System.Collections; namespace Sharkbomb.View { public class TooltipTrigger : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, ISelectHandler, IDeselectHandler { public string text; public void OnPointerEnter(PointerEventData eventData) { StartHover(new Vector3(eventData.position.x, eventData.position.y - 18f, 0f)); } public void OnSelect(BaseEventData eventData) { StartHover(transform.position); } public void OnPointerExit(PointerEventData eventData) { StopHover(); } public void OnDeselect(BaseEventData eventData) { StopHover(); } void StartHover(Vector3 position) { TooltipView.Instance.ShowTooltip(text, position); } void StopHover() { TooltipView.Instance.HideTooltip(); } } }
using UnityEngine; using System.Collections; namespace Sharkbomb.View { public class TooltipView : MonoBehaviour { public bool IsActive { get { return gameObject.activeSelf; } } //public CanvasGroup tooltip; public UnityEngine.UI.Text tooltipText; void Awake() { instance = this; HideTooltip(); } public void ShowTooltip(string text, Vector3 pos) { if (tooltipText.text != text) tooltipText.text = text; transform.position = pos; gameObject.SetActive(true); } public void HideTooltip() { gameObject.SetActive(false); } // Standard Singleton Access private static TooltipView instance; public static TooltipView Instance { get { if (instance == null) instance = GameObject.FindObjectOfType<TooltipView>(); return instance; } } } }