From 7674f5aee893b74cc0d616b9c40467c8846f243c Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 05 八月 2025 20:59:25 +0800 Subject: [PATCH] 122 子 【武将】武将系统 - 武将列表界面 --- Main/System/HeroUI/HeroListWin.cs | 63 ++++++++++++++++++++++--------- 1 files changed, 45 insertions(+), 18 deletions(-) diff --git a/Main/System/HeroUI/HeroListWin.cs b/Main/System/HeroUI/HeroListWin.cs index db06fc2..c3e1a84 100644 --- a/Main/System/HeroUI/HeroListWin.cs +++ b/Main/System/HeroUI/HeroListWin.cs @@ -17,10 +17,7 @@ [SerializeField] Button attrOnTipBtn; [SerializeField] Button changeHeroPosBtn; //甯冮樀鎸夐挳 - - - private List<Image> countrySelectImgList; - private List<Image> jobSelectImgList; + [SerializeField] HeroSelectBehaviour fiterManager; //姝﹀皢绛涢�� SinglePack singlePack; @@ -41,10 +38,12 @@ protected override void OnPreOpen() { + HeroUIManager.Instance.selectHeroListJob = 0; + HeroUIManager.Instance.selectHeroListCountry = 0; singlePack = PackManager.Instance.GetSinglePack(PackType.Hero); heroListScroller.OnRefreshCell += OnRefreshCell; - //闇�瑕佽�冭檻璋冩暣涓烘灏嗙殑浜嬩欢锛岃�屼笉鏄儗鍖� - PackManager.Instance.RefreshItemEvent += RefreshPakCount; + PackManager.Instance.gridRefreshEvent += GridRefreshEvent; + PackManager.Instance.RefreshItemEvent += RefreshItemEvent; HeroUIManager.Instance.SortHeroList(); CreateScroller(); Refresh(); @@ -53,13 +52,25 @@ protected override void OnPreClose() { heroListScroller.OnRefreshCell -= OnRefreshCell; - PackManager.Instance.RefreshItemEvent -= RefreshPakCount; + PackManager.Instance.RefreshItemEvent -= RefreshItemEvent; + PackManager.Instance.gridRefreshEvent -= GridRefreshEvent; } public override void Refresh() { - if (singlePack == null || singlePack.GetAllItems().Count <= 0) + RefreshEmptyTip(); + OnBattleTeamAttrPer(); + + RefreshPackCount(); + + fiterManager.Display(0, HeroUIManager.Instance.selectHeroListJob, HeroUIManager.Instance.selectHeroListCountry, SelectJobCountry); + + } + + void RefreshEmptyTip() + { + if (HeroUIManager.Instance.heroSortList.Count <= 0) { heroListEmpty.SetActive(true); heroListScroller.SetActive(false); @@ -69,10 +80,15 @@ heroListEmpty.SetActive(false); heroListScroller.SetActive(true); } + } - OnBattleTeamAttrPer(); - - RefreshPakCount(PackType.Hero, 0, 0); + void SelectJobCountry(int job, int country) + { + HeroUIManager.Instance.selectHeroListJob = job; + HeroUIManager.Instance.selectHeroListCountry = country; + HeroUIManager.Instance.SortHeroList(); + RefreshEmptyTip(); + CreateScroller(); } //涓婇樀鍔犳垚 @@ -92,7 +108,7 @@ valuePer += hero.GetOnBattleAddPer(); } } - + } //涓婇樀灞炴�� for (int i = 0; i < attrOnList.Count; i++) @@ -120,18 +136,29 @@ heroListScroller.Restart(); } - void RefreshPakCount(PackType type, int index, int itemID) + void RefreshItemEvent(PackType type, int index, int itemID) { if (type != PackType.Hero) return; - if (singlePack == null) - return; + + RefreshPackCount(); + + } + + void RefreshPackCount() + { int count = singlePack.GetAllItems().Count; - heroPackText.text = UIHelper.AppendColor(count > singlePack.unlockedGridCount ? TextColType.Red : TextColType.NavyBrown, string.Format("{0}/{1}", count, singlePack.unlockedGridCount)); - + } - + + void GridRefreshEvent(PackType type) + { + if (type != PackType.Hero) + return; + + RefreshPackCount(); + } } \ No newline at end of file -- Gitblit v1.8.0