using DG.Tweening; using UnityEngine; using UnityEngine.UI; namespace AxibugEmuOnline.Client { public class PopTipsItem : MonoBehaviour { [SerializeField] Text m_msgText; public RectTransform RectTransform => transform as RectTransform; public float OutTime = 0.235f; public Ease OutEase = Ease.OutQuint; public float StandTime = 1f; public float InTime = 0.235f; public Ease InEase = Ease.OutQuint; public void Popout(string msg) { gameObject.SetActiveEx(true); m_msgText.text = msg; Canvas.ForceUpdateCanvases(); var targetPos = new Vector2(-RectTransform.rect.width - 20 , RectTransform.anchoredPosition.y); DOTween.To( () => RectTransform.anchoredPosition, (value) => RectTransform.anchoredPosition = value, targetPos, OutTime) .SetLink(gameObject) .SetEase(OutEase) .OnComplete(() => { DOTween.To( () => RectTransform.anchoredPosition, (value) => RectTransform.anchoredPosition = value, new Vector2(0, RectTransform.anchoredPosition.y), InTime) .SetDelay(StandTime) .SetEase(InEase) .OnComplete(() => gameObject.SetActiveEx(false)) .SetLink(gameObject); }); } } }