| | |
| | | resultState = HeroUIManager.Instance.selectCallIndex == 0 ? ResultState.single : ResultState.ten; |
| | | |
| | | RefreshState(); |
| | | CheckWishFinishOnSkip(); |
| | | } |
| | | else |
| | | { |
| | |
| | | roleLHModelTween2.Play(); |
| | | |
| | | bgTexture.SetTexture2D(HeroUIManager.Instance.GetBGName(hero.SkinIDList[0], hero.Country)); |
| | | if (IsWishHero(heroID)) |
| | | { |
| | | UIManager.Instance.OpenWindow<HeroCallXYFinishWin>(); |
| | | } |
| | | } |
| | | |
| | | void RefreshHeroInfo(int heroID) |
| | |
| | | } |
| | | callTip.text = Language.Get("HeroCall6", needCount, string.Join(Language.Get("L1130"), qualityStrList.ToArray())); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 跳过动画时,检查是否抽到了心愿武将 |
| | | /// </summary> |
| | | void CheckWishFinishOnSkip() |
| | | { |
| | | // 只有高级招募才有心愿 |
| | | if (HeroUIManager.Instance.selectCallType != HappXBTitle.HeroCallAdvanced) return; |
| | | |
| | | for (int i = 0; i < HappyXBModel.Instance.xbResultDict.Count; i++) |
| | | { |
| | | int heroID = HappyXBModel.Instance.xbResultDict[i].itemId; |
| | | if (IsWishHero(heroID)) |
| | | { |
| | | // 抽到了心愿武将,打开完成特效界面 |
| | | UIManager.Instance.OpenWindow<HeroCallXYFinishWin>(); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 判断指定的英雄ID是否为当前选中的心愿武将 |
| | | /// </summary> |
| | | bool IsWishHero(int heroID) |
| | | { |
| | | if (HeroUIManager.Instance.selectCallType != HappXBTitle.HeroCallAdvanced) return false; |
| | | |
| | | var hero = HeroConfig.Get(heroID); |
| | | if (hero == null) return false; |
| | | |
| | | if (HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, hero.Quality, out int wishID, out _, out _)) |
| | | { |
| | | var libCfg = TreasureItemLibConfig.Get(wishID); |
| | | if (libCfg != null && libCfg.ItemID == heroID) |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | } |