diff --git a/lua/app/common/data_manager.lua b/lua/app/common/data_manager.lua index 51f82c91..6eb6bc98 100644 --- a/lua/app/common/data_manager.lua +++ b/lua/app/common/data_manager.lua @@ -26,6 +26,7 @@ function DataManager:init() self:initManager("SevenDayData", "app/userdata/activity/seven_day/seven_day_data") self:initManager("ShopData", "app/userdata/shop/shop_data") self:initManager("SummonData", "app/userdata/summon/summon_data") + self:initManager("AIHelperData", "app/userdata/game_setting/ai_helper_data") end function DataManager:initManager(name, path) @@ -102,6 +103,7 @@ function DataManager:clear() self.SummonData:clear() -- 任务数据最后清理 self.TaskData:clear() + self.AIHelperData:clear() ModuleManager.TaskManager:clear() self:clearTryOpenFunc() end @@ -143,6 +145,7 @@ function DataManager:initWithServerData(data) -- 商店礼包都初始化完了后检查一下每日红点 self.ShopData:checkShopDiscountRedPoint() self.SummonData:init(data.summon, true) + self.AIHelperData:init(nil, true) -- 成长基金要在ShopData和PlayerDataBagData还有之后初始化,依赖这些数据 if data.fund then self.GrowthFundData:init(data.fund.funds) diff --git a/lua/app/module/game_setting/game_setting_manager.lua b/lua/app/module/game_setting/game_setting_manager.lua index 0a496aa9..57d96844 100644 --- a/lua/app/module/game_setting/game_setting_manager.lua +++ b/lua/app/module/game_setting/game_setting_manager.lua @@ -82,4 +82,14 @@ function GameSettingManager:showSupport(objectId) GFunc.openUrl(CS.System.Uri(url .. language .. userId .. tempStr .. customData).AbsoluteUri) end +function GameSettingManager:reqAiHelper() + self:sendMessage(ProtoMsgType.FromMsgEnum.AIHelpUnreadReq, {}, {}, self.rspAiHelper) +end + +function GameSettingManager:rspAiHelper(result) + if result.error_code == GConst.ERROR_STR.SUCCESS then + DataManager.AIHelperData:init(result) + end +end + return GameSettingManager \ No newline at end of file diff --git a/lua/app/proto/proto_msg_type.lua b/lua/app/proto/proto_msg_type.lua index 3306c8f7..301c5305 100644 --- a/lua/app/proto/proto_msg_type.lua +++ b/lua/app/proto/proto_msg_type.lua @@ -9,6 +9,8 @@ local ProtoMsgType = { [147149505] = "EnergyByADRsp", [236190053] = "ChapterShardsChallengeStartReq", [236191886] = "ChapterShardsChallengeStartRsp", + [252740891] = "PVPOverCDReq", + [252742724] = "PVPOverCDRsp", [295348381] = "ChangeAvatarReq", [295350214] = "ChangeAvatarRsp", [317272657] = "IdleQuickReq", @@ -27,10 +29,16 @@ local ProtoMsgType = { [613795629] = "WatchADRsp", [737107384] = "BuyMallIdleReq", [737109217] = "BuyMallIdleRsp", + [822916593] = "MatchReq", + [822918426] = "MatchRsp", [834139466] = "ChapterGoldChallengeStartReq", [834141299] = "ChapterGoldChallengeStartRsp", + [904222760] = "ArenaBountyLevelUnlockReq", + [904224593] = "ArenaBountyLevelUnlockRsp", [1008447203] = "DeleteReq", [1008449036] = "DeleteRsp", + [1067411524] = "BuyTicketReq", + [1067413357] = "BuyTicketRsp", [1068769299] = "ReconnectReq", [1068771132] = "ReconnectRsp", [1070841461] = "LoginReq", @@ -56,6 +64,8 @@ local ProtoMsgType = { [1690299770] = "SummonRsp", [1746317288] = "IdleInfoReq", [1746319121] = "IdleInfoRsp", + [1751460231] = "PVPHeroesArrayReq", + [1751462064] = "PVPHeroesArrayRsp", [1901321540] = "PipedReq", [2060508030] = "ChangeAvatarFrameReq", [2060509863] = "ChangeAvatarFrameRsp", @@ -69,23 +79,39 @@ local ProtoMsgType = { [2285873970] = "ChapterBoxRewardRsp", [2429586383] = "MailCycleReq", [2429588216] = "MailCycleRsp", + [2494225153] = "PVPSettlementADRewardReq", + [2494226986] = "PVPSettlementADRewardRsp", [2494731810] = "TriggerGoldGiftReq", [2494733643] = "TriggerGoldGiftRsp", + [2514397758] = "PVPInfoReq", + [2514399591] = "PVPInfoRsp", [2515553923] = "BuyMallDailyReq", [2515555756] = "BuyMallDailyRsp", + [2524879713] = "PVPRecordHistoryReq", + [2524881546] = "PVPRecordHistoryRsp", [2553351971] = "ChapterDailyChallengeStartReq", [2553353804] = "ChapterDailyChallengeStartRsp", [2581180989] = "MailListReq", [2581182822] = "MailListRsp", [2620369240] = "SevenDayRewardReq", [2620371073] = "SevenDayRewardRsp", + [2708281176] = "PVPChallengeSettlementReq", + [2708283009] = "PVPChallengeSettlementRsp", [2731281392] = "MailExtractReq", [2731283225] = "MailExtractRsp", [2849800229] = "MailReadReq", [2849802062] = "MailReadRsp", + [2909093054] = "AIHelpUnreadReq", + [2909094887] = "AIHelpUnreadRsp", [3003864530] = "ActTriggerGiftNtf", + [3013273736] = "PVPRankHeroesReq", + [3013275569] = "PVPRankHeroesRsp", + [3024278414] = "PVPSeasonRewardReq", + [3024280247] = "PVPSeasonRewardRsp", [3038151923] = "TaskDailyRefreshReq", [3038153756] = "TaskDailyRefreshRsp", + [3058879524] = "PVPRankReq", + [3058881357] = "PVPRankRsp", [3062745642] = "FundAwardReq", [3062747475] = "FundAwardRsp", [3087688987] = "IdleRewardReq", @@ -94,6 +120,7 @@ local ProtoMsgType = { [3137377372] = "ActPayReq", [3137379205] = "ActPayRsp", [3190730044] = "KickOutNtf", + [3197501935] = "ArenaBountyBoughtNtf", [3224230499] = "SevenDayTaskRewardReq", [3224232332] = "SevenDayTaskRewardRsp", [3309820798] = "HeroPutOnReq", @@ -114,6 +141,8 @@ local ProtoMsgType = { [3597634953] = "BattleSkillRefreshRsp", [3607879254] = "AuthReq", [3607881087] = "AuthRsp", + [3613497485] = "ArenaBountyRewardReq", + [3613499318] = "ArenaBountyRewardRsp", [3624439233] = "NewMailNtf", [3663247602] = "MallDailyResetNtf", [3663314292] = "MallDailyResetReq", @@ -132,6 +161,8 @@ local ProtoMsgType = { [4106157842] = "BountyLevelUnlockRsp", [4133057746] = "ChapterGoldChallengeFarmReq", [4133059579] = "ChapterGoldChallengeFarmRsp", + [4152754481] = "PVPChallengeStartReq", + [4152756314] = "PVPChallengeStartRsp", [4256333947] = "ExistReq", [4256335780] = "ExistRsp", }, @@ -145,6 +176,8 @@ local ProtoMsgType = { EnergyByADRsp = 147149505, ChapterShardsChallengeStartReq = 236190053, ChapterShardsChallengeStartRsp = 236191886, + PVPOverCDReq = 252740891, + PVPOverCDRsp = 252742724, ChangeAvatarReq = 295348381, ChangeAvatarRsp = 295350214, IdleQuickReq = 317272657, @@ -163,10 +196,16 @@ local ProtoMsgType = { WatchADRsp = 613795629, BuyMallIdleReq = 737107384, BuyMallIdleRsp = 737109217, + MatchReq = 822916593, + MatchRsp = 822918426, ChapterGoldChallengeStartReq = 834139466, ChapterGoldChallengeStartRsp = 834141299, + ArenaBountyLevelUnlockReq = 904222760, + ArenaBountyLevelUnlockRsp = 904224593, DeleteReq = 1008447203, DeleteRsp = 1008449036, + BuyTicketReq = 1067411524, + BuyTicketRsp = 1067413357, ReconnectReq = 1068769299, ReconnectRsp = 1068771132, LoginReq = 1070841461, @@ -192,6 +231,8 @@ local ProtoMsgType = { SummonRsp = 1690299770, IdleInfoReq = 1746317288, IdleInfoRsp = 1746319121, + PVPHeroesArrayReq = 1751460231, + PVPHeroesArrayRsp = 1751462064, PipedReq = 1901321540, ChangeAvatarFrameReq = 2060508030, ChangeAvatarFrameRsp = 2060509863, @@ -205,23 +246,39 @@ local ProtoMsgType = { ChapterBoxRewardRsp = 2285873970, MailCycleReq = 2429586383, MailCycleRsp = 2429588216, + PVPSettlementADRewardReq = 2494225153, + PVPSettlementADRewardRsp = 2494226986, TriggerGoldGiftReq = 2494731810, TriggerGoldGiftRsp = 2494733643, + PVPInfoReq = 2514397758, + PVPInfoRsp = 2514399591, BuyMallDailyReq = 2515553923, BuyMallDailyRsp = 2515555756, + PVPRecordHistoryReq = 2524879713, + PVPRecordHistoryRsp = 2524881546, ChapterDailyChallengeStartReq = 2553351971, ChapterDailyChallengeStartRsp = 2553353804, MailListReq = 2581180989, MailListRsp = 2581182822, SevenDayRewardReq = 2620369240, SevenDayRewardRsp = 2620371073, + PVPChallengeSettlementReq = 2708281176, + PVPChallengeSettlementRsp = 2708283009, MailExtractReq = 2731281392, MailExtractRsp = 2731283225, MailReadReq = 2849800229, MailReadRsp = 2849802062, + AIHelpUnreadReq = 2909093054, + AIHelpUnreadRsp = 2909094887, ActTriggerGiftNtf = 3003864530, + PVPRankHeroesReq = 3013273736, + PVPRankHeroesRsp = 3013275569, + PVPSeasonRewardReq = 3024278414, + PVPSeasonRewardRsp = 3024280247, TaskDailyRefreshReq = 3038151923, TaskDailyRefreshRsp = 3038153756, + PVPRankReq = 3058879524, + PVPRankRsp = 3058881357, FundAwardReq = 3062745642, FundAwardRsp = 3062747475, IdleRewardReq = 3087688987, @@ -230,6 +287,7 @@ local ProtoMsgType = { ActPayReq = 3137377372, ActPayRsp = 3137379205, KickOutNtf = 3190730044, + ArenaBountyBoughtNtf = 3197501935, SevenDayTaskRewardReq = 3224230499, SevenDayTaskRewardRsp = 3224232332, HeroPutOnReq = 3309820798, @@ -250,6 +308,8 @@ local ProtoMsgType = { BattleSkillRefreshRsp = 3597634953, AuthReq = 3607879254, AuthRsp = 3607881087, + ArenaBountyRewardReq = 3613497485, + ArenaBountyRewardRsp = 3613499318, NewMailNtf = 3624439233, MallDailyResetNtf = 3663247602, MallDailyResetReq = 3663314292, @@ -268,6 +328,8 @@ local ProtoMsgType = { BountyLevelUnlockRsp = 4106157842, ChapterGoldChallengeFarmReq = 4133057746, ChapterGoldChallengeFarmRsp = 4133059579, + PVPChallengeStartReq = 4152754481, + PVPChallengeStartRsp = 4152756314, ExistReq = 4256333947, ExistRsp = 4256335780, }, @@ -281,6 +343,8 @@ local ProtoMsgType = { EnergyByADRsp = "EnergyByADRsp", ChapterShardsChallengeStartReq = "ChapterShardsChallengeStartReq", ChapterShardsChallengeStartRsp = "ChapterShardsChallengeStartRsp", + PVPOverCDReq = "PVPOverCDReq", + PVPOverCDRsp = "PVPOverCDRsp", ChangeAvatarReq = "ChangeAvatarReq", ChangeAvatarRsp = "ChangeAvatarRsp", IdleQuickReq = "IdleQuickReq", @@ -299,10 +363,16 @@ local ProtoMsgType = { WatchADRsp = "WatchADRsp", BuyMallIdleReq = "BuyMallIdleReq", BuyMallIdleRsp = "BuyMallIdleRsp", + MatchReq = "MatchReq", + MatchRsp = "MatchRsp", ChapterGoldChallengeStartReq = "ChapterGoldChallengeStartReq", ChapterGoldChallengeStartRsp = "ChapterGoldChallengeStartRsp", + ArenaBountyLevelUnlockReq = "ArenaBountyLevelUnlockReq", + ArenaBountyLevelUnlockRsp = "ArenaBountyLevelUnlockRsp", DeleteReq = "DeleteReq", DeleteRsp = "DeleteRsp", + BuyTicketReq = "BuyTicketReq", + BuyTicketRsp = "BuyTicketRsp", ReconnectReq = "ReconnectReq", ReconnectRsp = "ReconnectRsp", LoginReq = "LoginReq", @@ -328,6 +398,8 @@ local ProtoMsgType = { SummonRsp = "SummonRsp", IdleInfoReq = "IdleInfoReq", IdleInfoRsp = "IdleInfoRsp", + PVPHeroesArrayReq = "PVPHeroesArrayReq", + PVPHeroesArrayRsp = "PVPHeroesArrayRsp", PipedReq = "PipedReq", ChangeAvatarFrameReq = "ChangeAvatarFrameReq", ChangeAvatarFrameRsp = "ChangeAvatarFrameRsp", @@ -341,23 +413,39 @@ local ProtoMsgType = { ChapterBoxRewardRsp = "ChapterBoxRewardRsp", MailCycleReq = "MailCycleReq", MailCycleRsp = "MailCycleRsp", + PVPSettlementADRewardReq = "PVPSettlementADRewardReq", + PVPSettlementADRewardRsp = "PVPSettlementADRewardRsp", TriggerGoldGiftReq = "TriggerGoldGiftReq", TriggerGoldGiftRsp = "TriggerGoldGiftRsp", + PVPInfoReq = "PVPInfoReq", + PVPInfoRsp = "PVPInfoRsp", BuyMallDailyReq = "BuyMallDailyReq", BuyMallDailyRsp = "BuyMallDailyRsp", + PVPRecordHistoryReq = "PVPRecordHistoryReq", + PVPRecordHistoryRsp = "PVPRecordHistoryRsp", ChapterDailyChallengeStartReq = "ChapterDailyChallengeStartReq", ChapterDailyChallengeStartRsp = "ChapterDailyChallengeStartRsp", MailListReq = "MailListReq", MailListRsp = "MailListRsp", SevenDayRewardReq = "SevenDayRewardReq", SevenDayRewardRsp = "SevenDayRewardRsp", + PVPChallengeSettlementReq = "PVPChallengeSettlementReq", + PVPChallengeSettlementRsp = "PVPChallengeSettlementRsp", MailExtractReq = "MailExtractReq", MailExtractRsp = "MailExtractRsp", MailReadReq = "MailReadReq", MailReadRsp = "MailReadRsp", + AIHelpUnreadReq = "AIHelpUnreadReq", + AIHelpUnreadRsp = "AIHelpUnreadRsp", ActTriggerGiftNtf = "ActTriggerGiftNtf", + PVPRankHeroesReq = "PVPRankHeroesReq", + PVPRankHeroesRsp = "PVPRankHeroesRsp", + PVPSeasonRewardReq = "PVPSeasonRewardReq", + PVPSeasonRewardRsp = "PVPSeasonRewardRsp", TaskDailyRefreshReq = "TaskDailyRefreshReq", TaskDailyRefreshRsp = "TaskDailyRefreshRsp", + PVPRankReq = "PVPRankReq", + PVPRankRsp = "PVPRankRsp", FundAwardReq = "FundAwardReq", FundAwardRsp = "FundAwardRsp", IdleRewardReq = "IdleRewardReq", @@ -366,6 +454,7 @@ local ProtoMsgType = { ActPayReq = "ActPayReq", ActPayRsp = "ActPayRsp", KickOutNtf = "KickOutNtf", + ArenaBountyBoughtNtf = "ArenaBountyBoughtNtf", SevenDayTaskRewardReq = "SevenDayTaskRewardReq", SevenDayTaskRewardRsp = "SevenDayTaskRewardRsp", HeroPutOnReq = "HeroPutOnReq", @@ -386,6 +475,8 @@ local ProtoMsgType = { BattleSkillRefreshRsp = "BattleSkillRefreshRsp", AuthReq = "AuthReq", AuthRsp = "AuthRsp", + ArenaBountyRewardReq = "ArenaBountyRewardReq", + ArenaBountyRewardRsp = "ArenaBountyRewardRsp", NewMailNtf = "NewMailNtf", MallDailyResetNtf = "MallDailyResetNtf", MallDailyResetReq = "MallDailyResetReq", @@ -404,6 +495,8 @@ local ProtoMsgType = { BountyLevelUnlockRsp = "BountyLevelUnlockRsp", ChapterGoldChallengeFarmReq = "ChapterGoldChallengeFarmReq", ChapterGoldChallengeFarmRsp = "ChapterGoldChallengeFarmRsp", + PVPChallengeStartReq = "PVPChallengeStartReq", + PVPChallengeStartRsp = "PVPChallengeStartRsp", ExistReq = "ExistReq", ExistRsp = "ExistRsp", }, diff --git a/lua/app/ui/game_setting/game_setting_ui.lua b/lua/app/ui/game_setting/game_setting_ui.lua index 148f1e05..4dcdbc26 100644 --- a/lua/app/ui/game_setting/game_setting_ui.lua +++ b/lua/app/ui/game_setting/game_setting_ui.lua @@ -18,6 +18,7 @@ function GameSettingUI:onLoadRootComplete() self.uiMap = self.root:genAllChildren() self:_display() self:_addListeners() + self:_bind() self:addEventListener(EventManager.CUSTOM_EVENT.BIND_ACCOUNT_SUCCESS, function() self:refreshAccountInfo() end) @@ -162,6 +163,7 @@ function GameSettingUI:initSupportBtn() self.uiMap["game_setting_ui.bg.support_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUPPORT_DESC_2)) self.uiMap["game_setting_ui.bg.support_btn"]:addClickListener(function() ModuleManager.GameSettingManager:showSupport() + DataManager.AIHelperData:clearRp() end) end @@ -216,6 +218,17 @@ function GameSettingUI:_addListeners() end) end +function GameSettingUI:_bind() + self:bind(DataManager.AIHelperData, "isDirty", function() + local supportBtn = self.uiMap["game_setting_ui.bg.support_btn"] + if DataManager.AIHelperData:getRp() then + supportBtn:addRedPoint(88, 24, 0.8) + else + supportBtn:removeRedPoint() + end + end, true) +end + function GameSettingUI:refreshMusic() local offIcon = self.uiMap["game_setting_ui.bg.music_bg.off"] local onIcon = self.uiMap["game_setting_ui.bg.music_bg.on"] diff --git a/lua/app/ui/game_setting/select_other_btn_ui.lua b/lua/app/ui/game_setting/select_other_btn_ui.lua index d568b7e1..4343e54b 100644 --- a/lua/app/ui/game_setting/select_other_btn_ui.lua +++ b/lua/app/ui/game_setting/select_other_btn_ui.lua @@ -51,8 +51,14 @@ function SelectOtherBtnUI:onLoadRootComplete() self.uiMap["select_other_btn_ui.bg.mail_btn"]:setVisible(false) end cellCount = cellCount + 1 - self.uiMap["select_other_btn_ui.bg.setting_btn"]:setAnchoredPositionY(y) - self.uiMap["select_other_btn_ui.bg.setting_btn"]:addClickListener(function() + local settingBtn = self.uiMap["select_other_btn_ui.bg.setting_btn"] + if DataManager.AIHelperData:getRp() then + settingBtn:addRedPoint(124, 35, 0.8, nil, nil, true) + else + settingBtn:removeRedPoint() + end + settingBtn:setAnchoredPositionY(y) + settingBtn:addClickListener(function() self:closeUI() ModuleManager.GameSettingManager:showSettingUI() end) diff --git a/lua/app/ui/main_city/main_city_ui.lua b/lua/app/ui/main_city/main_city_ui.lua index 79c51e0b..22be5dab 100644 --- a/lua/app/ui/main_city/main_city_ui.lua +++ b/lua/app/ui/main_city/main_city_ui.lua @@ -257,6 +257,10 @@ function MainCityUI:_bind() end end end) + + self:bind(DataManager.AIHelperData, "isDirty", function() + self:refreshSettingBtn() + end) end function MainCityUI:initBottomUI() @@ -779,6 +783,10 @@ function MainCityUI:updateTime() self:refreshRightBtns() self.waitRefreshSideBar = false end + + if DataManager.AIHelperData:getNeedReqTime() then + ModuleManager.GameSettingManager:reqAiHelper() + end end function MainCityUI:updateSideBarStatus() @@ -908,7 +916,7 @@ function MainCityUI:refreshBottomRp() end function MainCityUI:refreshSettingBtn() - if DataManager.MailData:getIsOpen() and DataManager.MailData:getRedPoint() then + if (DataManager.MailData:getIsOpen() and DataManager.MailData:getRedPoint()) or DataManager.AIHelperData:getRp() then self.settingbtn:addRedPoint(40, 40, 0.7) else self.settingbtn:removeRedPoint() diff --git a/lua/app/userdata/game_setting/ai_helper_data.lua b/lua/app/userdata/game_setting/ai_helper_data.lua new file mode 100644 index 00000000..4ab8a1cb --- /dev/null +++ b/lua/app/userdata/game_setting/ai_helper_data.lua @@ -0,0 +1,52 @@ +local AIHelperData = class("AIHelperData", BaseData) + +local INIT_DELAY_TIME = 10 +local REQ_INTERVAL = 1800 + +function AIHelperData:ctor() + self.data.isDirty = false + self.aiHelperRpCount = 0 +end + +function AIHelperData:init(data, isInit) + self.nextReqTime = Time:getServerTime() + REQ_INTERVAL + if isInit then -- 初始化没有数据,自己构建一份,并且延迟发送请求 + data = { + count = 0 + } + self.nextReqTime = Time:getServerTime() + INIT_DELAY_TIME + end + if not data then + return + end + self.aiHelperRpCount = data.count + self:setIsDirty() +end + +function AIHelperData:setIsDirty() + self.data.isDirty = not self.data.isDirty +end + +function AIHelperData:getNextReqTime() + return self.nextReqTime +end + +function AIHelperData:getNeedReqTime() + if self:getNextReqTime() <= Time:getServerTime() then + self.nextReqTime = Time:getServerTime() + REQ_INTERVAL + return true + end + + return false +end + +function AIHelperData:getRp() + return self.aiHelperRpCount > 0 +end + +function AIHelperData:clearRp() + self.aiHelperRpCount = 0 + self:setIsDirty() +end + +return AIHelperData \ No newline at end of file diff --git a/lua/app/userdata/game_setting/ai_helper_data.lua.meta b/lua/app/userdata/game_setting/ai_helper_data.lua.meta new file mode 100644 index 00000000..1951d950 --- /dev/null +++ b/lua/app/userdata/game_setting/ai_helper_data.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c61b7067b2b095246bcc2b80c0f7f55f +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}