using System.Threading.Tasks; 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("点击英雄"); await OpenHeroDetailPanel(); } private async Task OpenHeroDetailPanel() { // HeroDetailPanel heroDetailPanel = UIManager.Instance.GetComponent(); // if (heroDetailPanel == null) // { // heroDetailPanel = await UIManager.Instance.LoadAndOpenPanel(Callback); // } HeroDetailPanel heroDetailPanel = await UIManager.Instance.LoadAndOpenPanel(Callback); heroDetailPanel.InitHeroDetailPanel(heroInfo); } private void Callback(HeroDetailPanel obj) { LogTool.Log("HeroDetailPanel 加载完成"); } private HeroInfo heroInfo; /// /// /// /// public void InitHero(HeroInfo heroInfo) { this.heroInfo = heroInfo; lv.text = heroInfo.level.ToString(); HeroUITools.SetStarShow(stars, heroInfo.star.Value); // 最大星级展示个数(6星,只显示一颗星星,换颜色) // int maxShowStar = 5; // // // 计算 当前星级 应该用什么星星的表现 // int group = (heroInfo.star - 1) / maxShowStar; // // int i = 1; // foreach (GameObject star in stars) // { // // Image image = star.GetComponent(); // // SetStarImg(group, star); // // if (heroInfo.star >= i) // { // star.SetActive(true); // } // else // { // star.SetActive(false); // } // i++; // } } // private void SetStarImg(int group, GameObject starObj) // { // Image image = starObj.GetComponent(); // // 执行对应的逻辑 (0)GradeIcon_Star_s_Yellow (1)GradeIcon_Star_s_Premium // switch (group) // { // case 0: // n = 1~5 // image.name = "GradeIcon_Star_s_Yellow"; // break; // case 1: // n = 6~10 // image.name = "GradeIcon_Star_s_Premium"; // break; // default: // 其他情况 // image.name = "GradeIcon_Star_s_Yellow"; // break; // } // } } }