| | |
| | | [SerializeField] Image notOpenImg; |
| | | [SerializeField] Image addImg; |
| | | [SerializeField] Button addBtn; |
| | | [SerializeField] Transform tipRect; |
| | | [SerializeField] Text freeText; |
| | | [SerializeField] Text itemCntText; |
| | | [SerializeField] Image itemIcon; |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 显示心愿选择结果框 |
| | | /// </summary> |
| | | /// <param name="quality">5 神话 4 传奇</param> |
| | | /// <param name="addAction">默认打开心愿界面,可传入点击添加按钮事件 </param> |
| | | /// <param name="heroAction">默认打开心愿界面,可传入点击武将头像事件</param> |
| | | /// <param name="changeHeroID">预览英雄ID,-1取消预览</param> |
| | | public void Display(int quality, UnityAction<int> addAction = null, UnityAction<int> heroAction = null, int changeHeroID = 0) |
| | | { |
| | | var data = HappyXBModel.Instance.GetXBInfoByType((int)HappXBTitle.HeroCallAdvanced); |
| | | var config = TreasureSetConfig.Get((int)HappXBTitle.HeroCallAdvanced); |
| | | var needOpenCnt = config.WishOpen - data.treasureCount; |
| | | |
| | | bool headGray = false; |
| | | int itemID = HappyXBModel.Instance.GetWishCardItemID(quality); |
| | | //心愿抽取情况 <LIBID:已抽到次数,是否勾选自动,当前心愿ID> |
| | | var wishData = HappyXBModel.Instance.GetWishDataByQuality(quality); |
| | | |
| | | if (wishData.wishCnt < HappyXBModel.wishMaxOutCnt) |
| | | { |
| | | tipRect.SetActive(true); |
| | | freeText.SetActive(true); |
| | | itemCntText?.SetActive(false); |
| | | headGray = false; |
| | | } |
| | | else if (wishData.auto && PackManager.Instance.GetItemCountByID(PackType.Item, itemID) > 0) |
| | | { |
| | | if (itemCntText == null) |
| | | { |
| | | tipRect.SetActive(false); |
| | | } |
| | | else |
| | | { |
| | | tipRect.SetActive(true); |
| | | freeText.SetActive(false); |
| | | itemCntText.SetActive(true); |
| | | itemIcon.SetItemSprite(itemID); |
| | | itemCntText.text = UIHelper.ShowUseItem(PackType.Item, itemID, 1, bright: false); |
| | | } |
| | | headGray = false; |
| | | } |
| | | else |
| | | { |
| | | tipRect.SetActive(false); |
| | | headGray = true; |
| | | } |
| | | |
| | | |
| | | int wishID = 0; |
| | | bool auto = false; |
| | | int wishCnt = 0; |
| | | int heroID = 0; |
| | | if (needOpenCnt <= 0) |
| | |
| | | notOpenImg.SetActive(false); |
| | | |
| | | |
| | | if (HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, quality, out wishID, out wishCnt)) |
| | | if (HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, quality, out wishID, out wishCnt, out auto)) |
| | | { |
| | | if (heroAction == null) |
| | | { |
| | | heroAction = (quality) => |
| | | { |
| | | if (HappyXBModel.Instance.IsTodayWishFinish()) |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("HeroWishFinish"); |
| | | return; |
| | | } |
| | | // if (HappyXBModel.Instance.IsTodayWishFinish()) |
| | | // { |
| | | // SysNotifyMgr.Instance.ShowTip("HeroWishFinish"); |
| | | // return; |
| | | // } |
| | | |
| | | UIManager.Instance.OpenWindow<HeroCallHopeWin>(quality == 4 ? 1 : 0); |
| | | }; |
| | |
| | | { |
| | | head.SetActive(true); |
| | | addImg.SetActive(false); |
| | | head.Init(heroID, wishCnt >= HappyXBModel.wishMaxOutCnt, ()=> { heroAction.Invoke(quality); }); |
| | | head.Init(heroID, headGray, ()=> { heroAction.Invoke(quality); }); |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | if (needOpenCnt <= 0) |
| | | { |
| | | if (HappyXBModel.Instance.IsTodayWishFinish()) |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("HeroWishFinish"); |
| | | return; |
| | | } |
| | | // if (HappyXBModel.Instance.IsTodayWishFinish()) |
| | | // { |
| | | // SysNotifyMgr.Instance.ShowTip("HeroWishFinish"); |
| | | // return; |
| | | // } |
| | | UIManager.Instance.OpenWindow<HeroCallHopeWin>(quality == 4 ? 1 : 0); |
| | | return; |
| | | } |