yyl
2025-12-17 cd093eb7b0e9dbcc0fba9a5e08b8b7e49d6e9072
Main/System/HappyXB/HeroCallWin.cs
@@ -25,6 +25,14 @@
    [SerializeField] Button closeBtn;
    [SerializeField] Text callTip;
    //心愿
    [SerializeField] Text openXYTip;
    [SerializeField] HeroCallHopeAddCell shHero;
    [SerializeField] HeroCallHopeAddCell csHero;
    //特权保底
    [SerializeField] Text openPrivilegeTip;
    protected override void InitComponent()
    {
@@ -56,15 +64,22 @@
    protected override void OnPreOpen()
    {
        HappyXBModel.Instance.RefreshXBTypeInfoAct += Refresh;
        InvestModel.Instance.onInvestUpdate += OnInvestUpdate;
        skipToggle.isOn = LocalSave.GetBool(HeroUIManager.skipKey + PlayerDatas.Instance.baseData.PlayerID, false);
        Refresh();
        openPrivilegeTip.SetActive(!InvestModel.Instance.IsInvested(InvestModel.foreverCardType));
    }
    protected override void OnPreClose()
    {
        HappyXBModel.Instance.RefreshXBTypeInfoAct -= Refresh;
        InvestModel.Instance.onInvestUpdate -= OnInvestUpdate;
    }
    void OnInvestUpdate(int type)
    {
        openPrivilegeTip.SetActive(!InvestModel.Instance.IsInvested(InvestModel.foreverCardType));
    }
    public override void Refresh()
    {
@@ -74,7 +89,7 @@
        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)
@@ -109,6 +124,7 @@
            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()));
        ShowWish();
    }
    //每秒刷新免费CD的倒计时
@@ -151,4 +167,17 @@
        }
    }
    void ShowWish()
    {
        var data = HappyXBModel.Instance.GetXBInfoByType((int)HappXBTitle.HeroCallAdvanced);
        var config = TreasureSetConfig.Get((int)HappXBTitle.HeroCallAdvanced);
        var needOpenCnt = config.WishOpen - data.treasureCount;
        openXYTip.SetActive(needOpenCnt > 0);
        openXYTip.text = Language.Get("HeroCall10", needOpenCnt);
        shHero.Display(5);
        csHero.Display(4);
    }
}