| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | using Common.Utility.CombatEvent;using Fort23.Core;using GameLogic.Combat.Buff;using GameLogic.Combat.CombatTool;using GameLogic.Combat.Skill;namespace Fort23.Mono{    [UIBinding(prefab = "BuffWidget")]    public partial class BuffWidget : UIComponent    {        public BuffBasic buffBasic;        private void Init()        {        }        public override void AddEvent()        {            // CombatEventManager.Instance.AddEventListener(CombatEventType.RemoveBuff,            //     AddBuff);            // StaticUpdater.Instance.AddRenderUpdateCallBack(Update);        }        public override void DelEvent()        {            // CombatEventManager.Instance.RemoveEventListener(CombatEventType.RemoveBuff,            //     AddBuff);            buffBasic = null;            // StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);        }        public override void AddButtonEvent()        {            myButton.onClick.AddListener(CkickBuff);        }        private async void CkickBuff()        {            CombatController.currActiveCombat.isUpdate = false;            SkillInfopanel skillInfopanel = await SkillInfopanel.OpenPanle(buffBasic);            skillInfopanel.UIClosed(() => { CombatController.currActiveCombat.isUpdate = true; });        }        private async void AddBuff(IEventData iEventData)        {            BuffEventData buffEventData = iEventData as BuffEventData;            if (buffEventData.BuffBasic == buffBasic)            {                UIManager.Instance.DormancyGComponent(this);            }        }        public bool Update()        {            if (buffBasic == null || buffBasic.CombatHeroEntity == null)            {                return false;            }            if (buffBasic.buffTime > 0)            {                cd.fillAmount = 1 - buffBasic._currTime / buffBasic.buffTime;            }            else            {                cd.fillAmount = 0;            }            buffCount.text = buffBasic.buffCount.ToString();            return true;        }        public void InitBuff(BuffBasic buffBasic)        {            this.buffBasic = buffBasic;            buffIcon.icon_name = buffBasic.BuffConfig.icon;        }    }}
 |