From e7e22b0cfafe53223b0a0f6b6189b2a8219f0740 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 09 九月 2025 17:08:34 +0800 Subject: [PATCH] 117 【武将】武将系统 - 图鉴 --- Main/System/HeroUI/HeroCollectionCardCell.cs | 83 +++++++++++++++++++++-------------------- 1 files changed, 42 insertions(+), 41 deletions(-) diff --git a/Main/System/HeroUI/HeroCollectionCardCell.cs b/Main/System/HeroUI/HeroCollectionCardCell.cs index 3c05118..178ce11 100644 --- a/Main/System/HeroUI/HeroCollectionCardCell.cs +++ b/Main/System/HeroUI/HeroCollectionCardCell.cs @@ -6,70 +6,61 @@ { [SerializeField] Button heroCardBtn; [SerializeField] Image heroCardBG; - [SerializeField] Material glowMaterial; // 娴佸厜鏁堟灉鏉愯川 - [SerializeField] Text lvText; + [SerializeField] UIHeroController heroModel; + [SerializeField] List<Image> starImgList; [SerializeField] Image countryImg; [SerializeField] Image jobImg; - [SerializeField] UIHeroController heroModel; - [SerializeField] Image onStateImg; - [SerializeField] RedpointBehaviour redpoint; - [SerializeField] Image trainStateImg; [SerializeField] Text nameText; - [SerializeField] Image awakeImg; - [SerializeField] Text awakeLVText; - [SerializeField] List<Image> starImgList; + [SerializeField] Image trainStateImg; + [SerializeField] RedpointBehaviour redpoint; + [SerializeField] Button fullBtn; + [SerializeField] GameObject unGetObj; + [SerializeField] GameObject activeObj; // 鍙縺娲诲甫娴佸厜鏁堟灉鏉愯川 - string guid; - public void Display(int index) + public void Display(int index, int quality) { - guid = HeroUIManager.Instance.heroSortList[index]; - var hero = HeroManager.Instance.GetHero(guid); - if (hero == null) - { - this.gameObject.SetActive(false); - return; - } + var heroID = HeroUIManager.Instance.heroCollectDict[quality][index]; + var heroConfig = HeroConfig.Get(heroID); + HB122_tagSCHeroInfo.tagSCHero colData; + HeroUIManager.Instance.TryGetHeroBookInfo(heroID, out colData); + heroCardBG.SetSprite("herocardbg" + heroConfig.Quality); - this.gameObject.SetActive(true); - heroCardBG.SetSprite("herocardbg" + hero.Quality); - if (glowMaterial != null) - { - heroCardBG.material = glowMaterial; - } - lvText.text = Language.Get("L1094") + hero.heroLevel.ToString(); - var heroConfig = hero.heroConfig; + //鍒嗕负0鏈幏寰椼��1鍙縺娲汇��2甯歌銆�3绐佺牬鍗囩骇銆�4銆佹槦鍗囩骇銆�5宸叉弧绾� + int funcState = HeroUIManager.Instance.GetHeroBookState(heroID, quality); + + activeObj.SetActive(funcState == 1); + fullBtn.SetActive(funcState == 5); + unGetObj.SetActive(funcState == 0); + countryImg.SetSprite(HeroUIManager.Instance.GetCountryIconName(heroConfig.Country)); jobImg.SetSprite(HeroUIManager.Instance.GetJobIconName(heroConfig.Class)); - heroModel.Create(heroConfig.SkinIDList[hero.SkinIndex], heroConfig.UIScale); - onStateImg.SetActive(hero.IsInTeamByTeamType(TeamType.Story)); + heroModel.Create(heroConfig.SkinIDList[0], heroConfig.UIScale); - redpoint.redpointId = MainRedDot.HeroCardRedpoint * 1000 + hero.itemHero.gridIndex; - var funcState = hero.funcState; - if (funcState > 0) + redpoint.redpointId = MainRedDot.HeroCardCollectRedpoint * 10000000 + heroID; + + if (funcState == 3 || funcState == 4) { trainStateImg.SetActive(true); - trainStateImg.SetSprite("herofuncstate" + hero.funcState); + trainStateImg.SetSprite("herofuncstate2"); } else { trainStateImg.SetActive(false); } - nameText.text = hero.breakLevel == 0 ? heroConfig.Name : Language.Get("herocardbreaklv", heroConfig.Name, hero.breakLevel); - awakeImg.SetActive(hero.awakeLevel > 0); - awakeLVText.text = hero.awakeLevel.ToString(); + nameText.text = colData.BookBreakLV == 0 ? heroConfig.Name : Language.Get("herocardbreaklv", heroConfig.Name, colData.BookBreakLV); for (int i = 0; i < starImgList.Count; i++) { - if (hero.heroStar == 0 && i == 0) + if (colData.BookStarLV == 0 && i == 0) { // 鏃犳槦绾� 鐗规畩澶勭悊 starImgList[i].SetActive(true); - starImgList[i].SetSprite("herostar" + hero.heroStar); + starImgList[i].SetSprite("herostar" + colData.BookStarLV); } - else if ((hero.heroStar - 1) % starImgList.Count >= i) + else if ((colData.BookStarLV - 1) % starImgList.Count >= i) { starImgList[i].SetActive(true); - starImgList[i].SetSprite("herostar" + (((hero.heroStar - 1) / starImgList.Count) + 1) * starImgList.Count); + starImgList[i].SetSprite("herostar" + (((colData.BookStarLV - 1) / starImgList.Count) + 1) * starImgList.Count); } else { @@ -79,8 +70,18 @@ heroCardBtn.AddListener(() => { - HeroUIManager.Instance.selectHeroGuid = guid; - UIManager.Instance.OpenWindow<HeroTrainWin>(); + HeroUIManager.Instance.selectCollectHeroID = heroID; + var state = HeroUIManager.Instance.GetHeroBookState(heroID, quality); + if (state == 1 || state == 3 || state == 4) + { + UIManager.Instance.OpenWindow<HeroCollectionLvUpWin>(); + } + }); + + fullBtn.AddListener(() => + { + HeroUIManager.Instance.selectCollectHeroID = heroID; + UIManager.Instance.OpenWindow<HeroCollectionLvUpWin>(); }); } } -- Gitblit v1.8.0