| using System.Collections; | 
| using System.Collections.Generic; | 
| using System.Linq; | 
| using UnityEngine; | 
| using UnityEngine.UI; | 
|   | 
| /// <summary> | 
| /// 招募 | 
| /// </summary> | 
| public class HeroCallWin : UIBase | 
| { | 
|     [SerializeField] Button ruleBtn; | 
|     [SerializeField] OwnItemCell ownItemCell; | 
|     [SerializeField] Button scoreBtn; | 
|     [SerializeField] Text scoreText; | 
|     [SerializeField] GameObject scoreTween; | 
|     [SerializeField] Toggle skipToggle; | 
|     [SerializeField] Button call1Btn; | 
|     [SerializeField] Image call1ItemIcon; | 
|     [SerializeField] Text call1Text; | 
|     [SerializeField] Text freeCDTime; | 
|     [SerializeField] Button call10Btn; | 
|     [SerializeField] Image call10ItemIcon; | 
|     [SerializeField] Text call10Text; | 
|     [SerializeField] Button closeBtn; | 
|     [SerializeField] Text callTip; | 
|   | 
|   | 
|     protected override void InitComponent() | 
|     { | 
|         closeBtn.AddListener(CloseWindow); | 
|         skipToggle.AddListener((value) => | 
|         { | 
|             LocalSave.SetBool(HeroUIManager.skipKey + PlayerDatas.Instance.baseData.PlayerID, value); | 
|         }); | 
|         ownItemCell.itemID = TreasureSetConfig.Get((int)HappXBTitle.HeroCallAdvanced).CostItemID; | 
|         call1Btn.AddListener(SendHeroCall); | 
|         call10Btn.AddListener(() => | 
|         { | 
|             HeroUIManager.Instance.selectCallType = HappXBTitle.HeroCallAdvanced; | 
|             HeroUIManager.Instance.selectCallIndex = 1; | 
|             HappyXBModel.Instance.SendXBManyQuest((int)HappXBTitle.HeroCallAdvanced); | 
|         }); | 
|         scoreBtn.AddListener(() => | 
|         { | 
|             UIManager.Instance.OpenWindow<HeroCallScoreWin>(); | 
|         }); | 
|   | 
|         ruleBtn.AddListener(() => | 
|         { | 
|             UIManager.Instance.OpenWindow<HeroCallRuleWin>(); | 
|         }); | 
|     } | 
|   | 
|   | 
|     protected override void OnPreOpen() | 
|     { | 
|         HappyXBModel.Instance.RefreshXBTypeInfoAct += Refresh; | 
|         skipToggle.isOn = LocalSave.GetBool(HeroUIManager.skipKey + PlayerDatas.Instance.baseData.PlayerID, false); | 
|         Refresh(); | 
|     } | 
|   | 
|     protected override void OnPreClose() | 
|     { | 
|         HappyXBModel.Instance.RefreshXBTypeInfoAct -= Refresh; | 
|     } | 
|   | 
|   | 
|     public override void Refresh() | 
|     { | 
|         var funcSet = TreasureSetConfig.Get((int)HappXBTitle.HeroCallAdvanced); | 
|         var item = ItemConfig.Get(funcSet.CostItemID); | 
|         var IconKey = item.IconKey; | 
|         call1ItemIcon.SetOrgSprite(IconKey); | 
|         call10ItemIcon.SetOrgSprite(IconKey); | 
|         var itemCount = PackManager.Instance.GetItemCountByID(PackType.Item, funcSet.CostItemID); | 
|          | 
|         int todayFreeCount = HappyXBModel.Instance.GetFreeCountToday((int)HappXBTitle.HeroCallAdvanced); | 
|         int dayMaxCount = HappyXBModel.Instance.GetDailyFreeCount((int)HappXBTitle.HeroCallAdvanced); | 
|         if (todayFreeCount < dayMaxCount) | 
|         { | 
|             call1Text.text = Language.Get("L1127") + (dayMaxCount - todayFreeCount) + "/" + dayMaxCount; | 
|         } | 
|         else | 
|         { | 
|             call1Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[0] > itemCount ? TextColType.Red : TextColType.LightWhite, funcSet.CostItemCountList[0].ToString())); | 
|         } | 
|         call10Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[1] > itemCount ? TextColType.Red : TextColType.LightWhite, funcSet.CostItemCountList[1].ToString())); | 
|   | 
|         scoreText.text = UIHelper.GetMoneyCnt(51) + "/" + TreasureSetConfig.Get((int)HappXBTitle.HeroCallScore).CostMoneyList[0]; | 
|   | 
|         if (UIHelper.GetMoneyCnt(51) >= TreasureSetConfig.Get((int)HappXBTitle.HeroCallScore).CostMoneyList[0]) | 
|         { | 
|             scoreTween.SetActive(true); | 
|         } | 
|         else | 
|         { | 
|             scoreTween.SetActive(false); | 
|         } | 
|   | 
|         RefreshFreeTime(); | 
|   | 
|         //再招募{0}次后必得{1}武将 | 
|         List<int> qualityList = new List<int>(); | 
|         var needCount = HappyXBModel.Instance.GetNextXBCountForBigAward((int)HappXBTitle.HeroCallAdvanced, out qualityList); | 
|         List<string> qualityStrList = new List<string>(); | 
|         for (int i = 0; i < qualityList.Count; i++) | 
|         { | 
|             qualityStrList.Add(UIHelper.AppendColor(qualityList[i], Language.Get("L1039", Language.Get("CommonQuality" + qualityList[i])))); | 
|         } | 
|         callTip.text = Language.Get("HeroCall6", needCount, string.Join(Language.Get("L1130"), qualityStrList.ToArray())); | 
|     } | 
|   | 
|     //每秒刷新免费CD的倒计时 | 
|     float cdTime = 0; | 
|   | 
|     void LateUpdate() | 
|     { | 
|         //每秒触发一次 | 
|         cdTime += Time.deltaTime; | 
|         if (cdTime < 1) return; | 
|         cdTime = 0; | 
|         RefreshFreeTime(); | 
|     } | 
|   | 
|     void RefreshFreeTime() | 
|     {  | 
|         if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced)) | 
|         { | 
|             freeCDTime.SetActive(false); | 
|         } | 
|         else | 
|         { | 
|             freeCDTime.SetActive(true); | 
|             freeCDTime.text = Language.Get("L1128", TimeUtility.SecondsToHMS(TimeUtility.GetTodayRemainSeconds())); | 
|         } | 
|     } | 
|   | 
|     void SendHeroCall() | 
|     { | 
|         HeroUIManager.Instance.selectCallType = HappXBTitle.HeroCallAdvanced; | 
|         HeroUIManager.Instance.selectCallIndex = 0; | 
|   | 
|         if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced)) | 
|         { | 
|             HappyXBModel.Instance.SendXBQuest((int)HappXBTitle.HeroCallAdvanced, 0, 1); | 
|         } | 
|         else | 
|         { | 
|             HappyXBModel.Instance.SendOneXBQuest((int)HappXBTitle.HeroCallAdvanced); | 
|         } | 
|     } | 
|   | 
| } |