| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | using System.Threading.Tasks;using Common.Utility.CombatEvent;using Fort23.Core;using Fort23.UTool;using GameLogic.Hero;using UnityEngine;using UnityEngine.UI;namespace Fort23.Mono{    [UIBinding(prefab = "WidgetHero")]    public partial class WidgetHero : UIComponent    {        private void Init()        {        }        public override void AddEvent()        {        }        public override void DelEvent()        {        }        public override void AddButtonEvent()        {            LogTool.Log("添加英雄点击事件");            btnHero.onClick.AddListener(OnHeroClick);        }        private async void OnHeroClick()        {            LogTool.Log("点击英雄");            HeroClickEventData heroClickEventData = HeroClickEventData.Create();            heroClickEventData.heroId = heroInfo.modelID;            EventManager.Instance.Dispatch(CustomEventType.HeroClick, heroClickEventData);            await OpenHeroDetailPanel();        }        private async Task OpenHeroDetailPanel()        {            // HeroDetailPanel heroDetailPanel = UIManager.Instance.GetComponent<HeroDetailPanel>();            // if (heroDetailPanel == null)            // {            //     heroDetailPanel = await UIManager.Instance.LoadAndOpenPanel<HeroDetailPanel>(Callback);            // }            HeroDetailPanel heroDetailPanel = await UIManager.Instance.LoadAndOpenPanel<HeroDetailPanel>(Callback,UILayer.Top);            heroDetailPanel.InitHeroDetailPanel(heroInfo);        }        private void Callback(HeroDetailPanel obj)        {            LogTool.Log("HeroDetailPanel 加载完成");        }        public HeroInfo heroInfo;                /// <summary>        ///         /// </summary>        /// <param name="heroInfo"></param>        public void InitHero(HeroInfo heroInfo)        {            this.heroInfo = heroInfo;            // lv.text = heroInfo.level.Value.ToString();            iconHero.icon_name = heroInfo.modelConfig.headicon;            iconHero.SetNativeSize();            iconZhiYe.icon_name = heroInfo.iconZhiYe;                        // HeroUITools.SetStarShow(stars, heroInfo.star.Value);            SetDynamicData();        }        public void UpdateWidgetUI(HeroInfo heroInfo)        {            this.heroInfo = heroInfo;            SetDynamicData();        }        public void SetDynamicData()        {            lv.text = heroInfo.level.Value.ToString();            HeroUITools.SetStarShow(stars, heroInfo.star.Value);        }            }}
 |