| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 | using Core.Language;using Fort23.Core;using UnityEngine;using UnityEngine.UI;namespace Fort23.Mono{    [UIBinding(prefab = "TipMessagePanel")]    public partial class TipMessagePanel : UIComponent    {        public static async CTask<TipMessagePanel> OpenTipMessagePanel(string meg, Vector2 worldPos = default)        {            if (PlayerManager.Instance.serverTime - UIManager.Instance.ShowTextTime < 700)            {                return null;            }            UIManager.Instance.ShowTextTime = PlayerManager.Instance.serverTime;            TipMessagePanel tipMessagePanel =                await UIManager.Instance.CreateGComponent<TipMessagePanel>(null,                    UIManager.Instance.GetLayer(UILayer.Top));            tipMessagePanel.SetTipMessage(meg, worldPos);            return tipMessagePanel;        }        public static async CTask<TipMessagePanel> OpenTipMessagePanel(int meg, Vector2 worldPos = default)        {            if (PlayerManager.Instance.serverTime - UIManager.Instance.ShowTextTime < 700)            {                return null;            }            UIManager.Instance.ShowTextTime = PlayerManager.Instance.serverTime;            TipMessagePanel tipMessagePanel =                await UIManager.Instance.CreateGComponent<TipMessagePanel>(null,                    UIManager.Instance.GetLayer(UILayer.Top));            tipMessagePanel.SetTipMessage(LanguageManager.Instance.Text(meg), worldPos);            return tipMessagePanel;        }        public override async CTask Open()        {            await base.Open();            // GObjectPoolInterface.SetActive(false);        }        private void Init()        {        }        public override void AddEvent()        {        }        public override void DelEvent()        {        }        public override void AddButtonEvent()        {            button_bg.onClick.AddListener(OnClickButton_bg);        }        private void OnClickButton_bg()        {            // UIManager.Instance.HideUIUIPanel(this);        }        public async void SetTipMessage(string msg, Vector2 pos)        {            pos = this.transform.worldToLocalMatrix * pos;            if (pos.x > 186)            {                pos.x = 186;            }            if (pos.x < -186)            {                pos.x = -186;            }            message.text = msg;            RectTransform rectTransform = message.GetComponent<RectTransform>();            message.SetLayoutDirty();            LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform);            RectTransform bgTran = bg_icon.GetComponent<RectTransform>();            float y = rectTransform.sizeDelta.y + 20;            if (y < 100)            {                y = 100;            }            bgTran.sizeDelta = new Vector2(bgTran.sizeDelta.x, y);            float maxY = this.transform.sizeDelta.y / 2;            float my2 = y / 2;            if (pos.y > maxY - my2)            {                pos.y = maxY - my2;            }            if (pos.y < my2 - maxY)            {                pos.y = my2 - maxY;            }            dotPoint.anchoredPosition = pos;            LayoutRebuilder.ForceRebuildLayoutImmediate(bgTran);            // Animator.Play("showTips");            TimerComponent.Instance.AddTimer(1450, () => { UIManager.Instance.DormancyGComponent(this); });        }    }}
 |