From bb463ef0b13236738a1da9cd04f57def3e7e2c7c Mon Sep 17 00:00:00 2001 From: yyl <yyl> Date: 星期五, 29 八月 2025 15:21:51 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts --- Main/System/HappyXB/HappyXBModel.cs | 114 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 78 insertions(+), 36 deletions(-) diff --git a/Main/System/HappyXB/HappyXBModel.cs b/Main/System/HappyXB/HappyXBModel.cs index 0af1b07..f75a087 100644 --- a/Main/System/HappyXB/HappyXBModel.cs +++ b/Main/System/HappyXB/HappyXBModel.cs @@ -44,6 +44,9 @@ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize; FuncOpen.Instance.OnFuncStateChangeEvent += UpdateFuncState; PackManager.Instance.RefreshItemEvent += RefreshXBTool; + TimeMgr.Instance.OnDayEvent += OnDayEvent; + DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk; + InvestModel.Instance.onInvestUpdate += OnInvestUpdate; xbGetItemDict.Clear(); xbTypeItemDict.Clear(); @@ -71,17 +74,30 @@ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize; FuncOpen.Instance.OnFuncStateChangeEvent -= UpdateFuncState; PackManager.Instance.RefreshItemEvent -= RefreshXBTool; + TimeMgr.Instance.OnDayEvent -= OnDayEvent; + DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk; + InvestModel.Instance.onInvestUpdate -= OnInvestUpdate; } - public void OnBeforePlayerDataInitialize() + void OnBeforePlayerDataInitialize() { isXBCoolTime = false; xbTypeInfoDict.Clear(); } + void OnPlayerLoginOk() + { + HeroCallRedPoint(); + } + + void OnInvestUpdate(int type) + { + if (type == 7) + HeroCallRedPoint(); + } public XBGetItemConfig GetXBItemConfigByType(int type) { int lv = 0; @@ -307,27 +323,33 @@ //璐у竵瀵诲疂 int moneyType = funcSet.CostMoneyType; int xbOneMoney = funcSet.CostMoneyList[0]; - - if (UIHelper.GetMoneyCnt(moneyType) >= xbOneMoney) + //鏆傚畾鍏呭�艰揣甯侀渶瑕佷簩娆$‘璁� + if (moneyType == 1) { - //鏆傚畾鍏呭�艰揣甯侀渶瑕佷簩娆$‘璁� - if (moneyType == 1) + StoreModel.Instance.UseMoneyCheck(xbOneMoney, moneyType, () => { - StoreModel.Instance.UseMoneyCheck(xbOneMoney, moneyType, () => + if (UIHelper.GetMoneyCnt(moneyType) >= xbOneMoney) { SendXBQuest(xbType, 0, 0); - }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, xbOneMoney, - UIHelper.GetIconNameWithMoneyType(moneyType), funcSet.CostItemCountList[0])); + } + else + { + ItemTipUtility.ShowMoneyTip(moneyType); + } + }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, xbOneMoney, + UIHelper.GetIconNameWithMoneyType(moneyType), funcSet.CostItemCountList[0])); - } - else - { - SendXBQuest(xbType, 0, 0); - } } else { - ItemTipUtility.ShowMoneyTip(moneyType); + if (UIHelper.GetMoneyCnt(moneyType) >= xbOneMoney) + { + SendXBQuest(xbType, 0, 0); + } + else + { + ItemTipUtility.ShowMoneyTip(moneyType); + } } } } @@ -356,26 +378,34 @@ //璐у竵瀵诲疂 int moneyType = funcSet.CostMoneyType; - if (UIHelper.GetMoneyCnt(moneyType) >= needMoney) + + //鏆傚畾鍏呭�艰揣甯侀渶瑕佷簩娆$‘璁� + if (moneyType == 1) { - //鏆傚畾鍏呭�艰揣甯侀渶瑕佷簩娆$‘璁� - if (moneyType == 1) + StoreModel.Instance.UseMoneyCheck(needMoney, moneyType, () => { - StoreModel.Instance.UseMoneyCheck(needMoney, moneyType, () => + //鍙鏈夐亾鍏峰氨鏄亾鍏峰瀹濓紝涓嶈冻閮ㄥ垎鏈嶅姟绔墸璐у竵 + if (UIHelper.GetMoneyCnt(moneyType) >= needMoney) { - //鍙鏈夐亾鍏峰氨鏄亾鍏峰瀹濓紝涓嶈冻閮ㄥ垎鏈嶅姟绔墸璐у竵 SendXBQuest(xbType, 1, toolCnt > 0 ? 2 : 0); - }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, needMoney, - UIHelper.GetIconNameWithMoneyType(moneyType), needToolCnt - toolCnt)); - } - else - { - SendXBQuest(xbType, 1, toolCnt > 0 ? 2 : 0); - } + } + else + { + ItemTipUtility.ShowMoneyTip(moneyType); + } + }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, needMoney, + UIHelper.GetIconNameWithMoneyType(moneyType), needToolCnt - toolCnt)); } else { - ItemTipUtility.ShowMoneyTip(moneyType); + if (UIHelper.GetMoneyCnt(moneyType) >= needMoney) + { + SendXBQuest(xbType, 1, toolCnt > 0 ? 2 : 0); + } + else + { + ItemTipUtility.ShowMoneyTip(moneyType); + } } } @@ -479,10 +509,15 @@ #region 绾㈢偣閫昏緫 public const int HappyXB_RedKey = 203; public const int XBHeroCall1_RedKey = 20300; //姝﹀皢鍏嶈垂鍙敜 + public const int XBHeroCall10_RedKey = 20301; //姝﹀皢10鍙敜 + public const int XBHeroCallScore_RedKey = 20302; //姝﹀皢绉垎鍙敜 - public Redpoint happyXBRed = new Redpoint(HappyXB_RedKey); + public Redpoint happyXBRed = new Redpoint(MainRedDot.MainHerosRedpoint, HappyXB_RedKey); public Redpoint bestXBFreeRed = new Redpoint(HappyXB_RedKey, XBHeroCall1_RedKey); + public Redpoint bestXB10Red = new Redpoint(HappyXB_RedKey, XBHeroCall10_RedKey); + public Redpoint bestXBScoreRed = new Redpoint(HappyXB_RedKey, XBHeroCallScore_RedKey); + private void UpdateFuncState(int funcId) @@ -500,32 +535,39 @@ HeroCallRedPoint(); } + void OnDayEvent() + { + HeroCallRedPoint(); + } + //鑻遍泟鎷涘嫙 public void HeroCallRedPoint() { if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HappyFindTreasure)) return; // 鍏嶈垂 10杩� 绉垎 - happyXBRed.state = RedPointState.None; + bestXB10Red.state = RedPointState.None; + bestXBFreeRed.state = RedPointState.None; + bestXBScoreRed.state = RedPointState.None; if (IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced)) { bestXBFreeRed.state = RedPointState.Simple; - return; - } - else - { - bestXBFreeRed.state = RedPointState.None; } if (IsHaveManyXBToolEx((int)HappXBTitle.HeroCallAdvanced, out int xbtoolCnt, out int needtoolCnt, out int needMoney)) { - happyXBRed.state = RedPointState.Simple; + bestXB10Red.state = RedPointState.Simple; return; } //绉垎瓒冲 - + if ((InvestModel.Instance.IsInvested(InvestModel.monthCardType) + || GetXBInfoByType((int)HappXBTitle.HeroCallScore)?.treasureCount == 0) + && UIHelper.GetMoneyCnt(51) >= TreasureSetConfig.Get((int)HappXBTitle.HeroCallScore).CostMoneyList[0]) + { + bestXBScoreRed.state = RedPointState.Simple; + } } -- Gitblit v1.8.0