using GCSeries.Core.Input; using QFramework; using QFramework.Example; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; public class TipItem : MonoBehaviour { UIDeviceTip tip; public string label; public void Set(string label) { this.label = label; #if VR UIRoot.Instance.transform.Find("ZStylus").GetComponent().OnObjectEntered.AddListener(OnObjEnter); UIRoot.Instance.transform.Find("ZStylus").GetComponent().OnObjectExited.AddListener(OnObjExit); UIRoot.Instance.transform.Find("ZStylus").GetComponent().OnClick.AddListener(OnClick); #endif } private void OnClick(ZPointer arg0, int arg1, GameObject arg2) { if (arg2 == gameObject) { if (tip != null) { tip.Hide(); } } } #if VR private void OnObjExit(ZPointer arg0, GameObject arg1) { if (arg1 == gameObject) { OnExit(); } } private void OnObjEnter(ZPointer arg0, GameObject arg1) { if (arg1 == gameObject) { OnEnter(); } } #endif private void OnMouseEnter() { OnEnter(); } public void OnEnter() { tip = UIKit.GetPanel(); if (tip == null) { UIKit.OpenPanelAsync(UILevel.PopUI).ToAction().StartGlobal(() => { tip = UIKit.GetPanel(); tip.Open(new UIDeviceTipData() { txt = label }); tip.Show(); }); } else { tip.Open(new UIDeviceTipData() { txt = label}); tip.Show(); } } public void OnExit() { if (tip != null) { tip.Hide(); } } private void OnMouseExit() { OnExit(); } private void OnMouseUpAsButton() { if (tip != null) { tip.Hide(); } } }