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); 
 | 
        } 
 | 
    } 
 | 
  
 | 
} 
 |