diff --git a/lua/app/common/data_manager.lua b/lua/app/common/data_manager.lua index 1ce79946..86659c6f 100644 --- a/lua/app/common/data_manager.lua +++ b/lua/app/common/data_manager.lua @@ -132,7 +132,7 @@ function DataManager:initWithServerData(data) self.ShopData:initCommonDailyGoldGift(data.mall_idle and data.mall_idle.ad_count) -- 常驻金币礼包 self.ShopData:initGrowUpGift(data.act_grow_up_gift) -- 成长礼包 self.ShopData:initLevelUpGift(data.act_level_up_gift) -- 助力礼包 - self.SummonData:init(data.summon) + self.SummonData:init(data.summon, true) self:scheduleGlobal() self:checkDataBind() diff --git a/lua/app/config/strings/cn/item.lua b/lua/app/config/strings/cn/item.lua index 52bfd102..add33c70 100644 --- a/lua/app/config/strings/cn/item.lua +++ b/lua/app/config/strings/cn/item.lua @@ -75,6 +75,10 @@ local item = { ["name"]="随机碎片", ["desc"]="挂机可获得随机碎片,领取后数量和品质将根据关卡提升。" }, + [12001]={ + ["name"]="红SR-克劳德", + ["desc"]="凑齐可解锁或升级。" + }, [13001]={ ["name"]="红SR-克劳德", ["desc"]="凑齐可解锁或升级。" diff --git a/lua/app/module/shop/shop_manager.lua b/lua/app/module/shop/shop_manager.lua index 404f3481..1e978d93 100644 --- a/lua/app/module/shop/shop_manager.lua +++ b/lua/app/module/shop/shop_manager.lua @@ -17,6 +17,10 @@ function ShopManager:showBoxRewardUI(params) UIManager:showUI("app/ui/shop/box_reward_ui", params) end +function ShopManager:showBoxLevelUpUI(params) + UIManager:showUI("app/ui/shop/box_level_up_ui", params) +end + -- 购买每日特惠商品 function ShopManager:buyMallDailyGift(id, isAd) if not DataManager.ShopData:getMallDailyIsOpen() then diff --git a/lua/app/ui/shop/box_level_ui.lua b/lua/app/ui/shop/box_level_ui.lua index 8a974162..5d202806 100644 --- a/lua/app/ui/shop/box_level_ui.lua +++ b/lua/app/ui/shop/box_level_ui.lua @@ -94,7 +94,6 @@ function BoxLevelUI:refresh() self.rightArrow:setSprite(GConst.ATLAS_PATH.COMMON, "common_arrow_2") end - -- 目前文档没有写要屏蔽3级宝箱 所以暂不处理 if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.STORE_BOX_3_OPEN, true) then self.box3Node:setVisible(false) self.bg:setSizeDeltaY(BG_WITHOUT_3_BOX_HEIGHT) @@ -137,16 +136,25 @@ function BoxLevelUI:refresh() self.box1Add1Node:setVisible(true) self.box1Add1ItemCell:refreshByCfg(reward1[1].id, 0) self.box1Add1ItemCell:setNum("") + self.box1Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward1[1].id, self.box1Add1ItemCell:getBaseObject()) + end) self.box1Add1Text:setText("+" .. tostring(reward1[1].num)) else self.box1Add1Node:setVisible(true) self.box1Add1ItemCell:refreshByCfg(reward1[1].id, 0) self.box1Add1ItemCell:setNum("") + self.box1Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward1[1].id, self.box1Add1ItemCell:getBaseObject()) + end) self.box1Add1Text:setText("+" .. tostring(reward1[1].num)) self.box1Add2Node:setVisible(true) self.box1Add2ItemCell:refreshByCfg(reward1[2].id, 0) self.box1Add2ItemCell:setNum("") + self.box1Add2ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward1[2].id, self.box1Add2ItemCell:getBaseObject()) + end) self.box1Add2Text:setText("+" .. tostring(reward1[2].num)) end @@ -155,16 +163,25 @@ function BoxLevelUI:refresh() self.box2Add1Node:setVisible(true) self.box2Add1ItemCell:refreshByCfg(reward2[1].id, 0) self.box2Add1ItemCell:setNum("") + self.box2Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward2[1].id, self.box2Add1ItemCell:getBaseObject()) + end) self.box2Add1Text:setText("+" .. tostring(reward2[1].num)) else self.box2Add1Node:setVisible(true) self.box2Add1ItemCell:refreshByCfg(reward2[1].id, 0) self.box2Add1ItemCell:setNum("") + self.box2Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward2[1].id, self.box2Add1ItemCell:getBaseObject()) + end) self.box2Add1Text:setText("+" .. tostring(reward2[1].num)) self.box2Add2Node:setVisible(true) self.box2Add2ItemCell:refreshByCfg(reward2[2].id, 0) self.box2Add2ItemCell:setNum("") + self.box2Add2ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward2[2].id, self.box2Add2ItemCell:getBaseObject()) + end) self.box2Add2Text:setText("+" .. tostring(reward2[2].num)) end @@ -173,16 +190,25 @@ function BoxLevelUI:refresh() self.box3Add1Node:setVisible(true) self.box3Add1ItemCell:refreshByCfg(reward3[1].id, 0) self.box3Add1ItemCell:setNum("") + self.box3Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward3[1].id, self.box3Add1ItemCell:getBaseObject()) + end) self.box3Add1Text:setText("+" .. tostring(reward3[1].num)) else self.box3Add1Node:setVisible(true) self.box3Add1ItemCell:refreshByCfg(reward3[1].id, 0) self.box3Add1ItemCell:setNum("") + self.box3Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward3[1].id, self.box3Add1ItemCell:getBaseObject()) + end) self.box3Add1Text:setText("+" .. tostring(reward3[1].num)) self.box3Add2Node:setVisible(true) self.box3Add2ItemCell:refreshByCfg(reward3[2].id, 0) self.box3Add2ItemCell:setNum("") + self.box3Add2ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward3[2].id, self.box3Add2ItemCell:getBaseObject()) + end) self.box3Add2Text:setText("+" .. tostring(reward3[2].num)) end end diff --git a/lua/app/ui/shop/box_level_up_ui.lua b/lua/app/ui/shop/box_level_up_ui.lua new file mode 100644 index 00000000..033a0420 --- /dev/null +++ b/lua/app/ui/shop/box_level_up_ui.lua @@ -0,0 +1,163 @@ +local BoxLevelUpUI = class("BoxLevelUpUI", BaseUI) + +function BoxLevelUpUI:ctor(params) + params = params or {} + self.level = params.level or DataManager.SummonData:getSummonLevel() +end + +function BoxLevelUpUI:isFullScreen() + return true +end + +function BoxLevelUpUI:getPrefabPath() + return "assets/prefabs/ui/shop/box_level_up_ui.prefab" +end + +function BoxLevelUpUI:onLoadRootComplete() + self.uiMap = self.root:genAllChildren() + self.uiMap["box_level_up_ui.mask"]:addClickListener(function() + self:closeUI() + end) + + self.titleTx = self.uiMap["box_level_up_ui.title.text"] + self.lvTx = self.uiMap["box_level_up_ui.lv_up.text"] + + self.box1Node = self.uiMap["box_level_up_ui.box_1"] + self.box1Add1Node = self.uiMap["box_level_up_ui.box_1.add_node_1"] + self.box1Add1ItemCell = CellManager:addCellComp(self.uiMap["box_level_up_ui.box_1.add_node_1.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL) + self.box1Add1Text = self.uiMap["box_level_up_ui.box_1.add_node_1.text"] + self.box1Add2Node = self.uiMap["box_level_up_ui.box_1.add_node_2"] + self.box1Add2ItemCell = CellManager:addCellComp(self.uiMap["box_level_up_ui.box_1.add_node_2.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL) + self.box1Add2Text = self.uiMap["box_level_up_ui.box_1.add_node_2.text"] + self.box1Desc = self.uiMap["box_level_up_ui.box_1.none_text"] + self.box1Desc:setText("无额外奖励加成TD") -- TODOJ + + self.box2Node = self.uiMap["box_level_up_ui.box_2"] + self.box2Add1Node = self.uiMap["box_level_up_ui.box_2.add_node_1"] + self.box2Add1ItemCell = CellManager:addCellComp(self.uiMap["box_level_up_ui.box_2.add_node_1.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL) + self.box2Add1Text = self.uiMap["box_level_up_ui.box_2.add_node_1.text"] + self.box2Add2Node = self.uiMap["box_level_up_ui.box_2.add_node_2"] + self.box2Add2ItemCell = CellManager:addCellComp(self.uiMap["box_level_up_ui.box_2.add_node_2.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL) + self.box2Add2Text = self.uiMap["box_level_up_ui.box_2.add_node_2.text"] + self.box2Desc = self.uiMap["box_level_up_ui.box_2.none_text"] + self.box2Desc:setText("无额外奖励加成TD") -- TODOJ + + self.box3Node = self.uiMap["box_level_up_ui.box_3"] + self.box3Add1Node = self.uiMap["box_level_up_ui.box_3.add_node_1"] + self.box3Add1ItemCell = CellManager:addCellComp(self.uiMap["box_level_up_ui.box_3.add_node_1.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL) + self.box3Add1Text = self.uiMap["box_level_up_ui.box_3.add_node_1.text"] + self.box3Add2Node = self.uiMap["box_level_up_ui.box_3.add_node_2"] + self.box3Add2ItemCell = CellManager:addCellComp(self.uiMap["box_level_up_ui.box_3.add_node_2.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL) + self.box3Add2Text = self.uiMap["box_level_up_ui.box_3.add_node_2.text"] + self.box3Desc = self.uiMap["box_level_up_ui.box_3.none_text"] + self.box3Desc:setText("无额外奖励加成TD") -- TODOJ + + self.closeTx = self.uiMap["box_level_up_ui.close_tx"] + + self:refresh() +end + +function BoxLevelUpUI:refresh() + self.titleTx:setText("宝箱等级提升!TD") -- TODOJ + self.lvTx:setText("Lv." .. tostring(self.level)) + self.closeTx:setText("点击继续TD") -- TODOJ + + self.box1Add1Node:setVisible(false) + self.box1Add2Node:setVisible(false) + self.box1Desc:setVisible(false) + + self.box2Add1Node:setVisible(false) + self.box2Add2Node:setVisible(false) + self.box2Desc:setVisible(false) + + self.box3Add1Node:setVisible(false) + self.box3Add2Node:setVisible(false) + self.box3Desc:setVisible(false) + + local reward1 = DataManager.SummonData:getSummonRewardByLv(GConst.SummonConst.SUMMON_TYPE.LV_1, self.level) + local reward2 = DataManager.SummonData:getSummonRewardByLv(GConst.SummonConst.SUMMON_TYPE.LV_2, self.level) + local reward3 = DataManager.SummonData:getSummonRewardByLv(GConst.SummonConst.SUMMON_TYPE.LV_3, self.level) + + local count = #reward1 + if count == 1 then + self.box1Add1Node:setVisible(true) + self.box1Add1ItemCell:refreshByCfg(reward1[1].id, 0) + self.box1Add1ItemCell:setNum("") + self.box1Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward1[1].id, self.box1Add1ItemCell:getBaseObject()) + end) + self.box1Add1Text:setText("+" .. tostring(reward1[1].num)) + else + self.box1Add1Node:setVisible(true) + self.box1Add1ItemCell:refreshByCfg(reward1[1].id, 0) + self.box1Add1ItemCell:setNum("") + self.box1Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward1[1].id, self.box1Add1ItemCell:getBaseObject()) + end) + self.box1Add1Text:setText("+" .. tostring(reward1[1].num)) + + self.box1Add2Node:setVisible(true) + self.box1Add2ItemCell:refreshByCfg(reward1[2].id, 0) + self.box1Add2ItemCell:setNum("") + self.box1Add2ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward1[2].id, self.box1Add2ItemCell:getBaseObject()) + end) + self.box1Add2Text:setText("+" .. tostring(reward1[2].num)) + end + + local count = #reward2 + if count == 1 then + self.box2Add1Node:setVisible(true) + self.box2Add1ItemCell:refreshByCfg(reward2[1].id, 0) + self.box2Add1ItemCell:setNum("") + self.box2Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward2[1].id, self.box2Add1ItemCell:getBaseObject()) + end) + self.box2Add1Text:setText("+" .. tostring(reward2[1].num)) + else + self.box2Add1Node:setVisible(true) + self.box2Add1ItemCell:refreshByCfg(reward2[1].id, 0) + self.box2Add1ItemCell:setNum("") + self.box2Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward2[1].id, self.box2Add1ItemCell:getBaseObject()) + end) + self.box2Add1Text:setText("+" .. tostring(reward2[1].num)) + + self.box2Add2Node:setVisible(true) + self.box2Add2ItemCell:refreshByCfg(reward2[2].id, 0) + self.box2Add2ItemCell:setNum("") + self.box2Add2ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward2[2].id, self.box2Add2ItemCell:getBaseObject()) + end) + self.box2Add2Text:setText("+" .. tostring(reward2[2].num)) + end + + local count = #reward3 + if count == 1 then + self.box3Add1Node:setVisible(true) + self.box3Add1ItemCell:refreshByCfg(reward3[1].id, 0) + self.box3Add1ItemCell:setNum("") + self.box3Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward3[1].id, self.box3Add1ItemCell:getBaseObject()) + end) + self.box3Add1Text:setText("+" .. tostring(reward3[1].num)) + else + self.box3Add1Node:setVisible(true) + self.box3Add1ItemCell:refreshByCfg(reward3[1].id, 0) + self.box3Add1ItemCell:setNum("") + self.box3Add1ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward3[1].id, self.box3Add1ItemCell:getBaseObject()) + end) + self.box3Add1Text:setText("+" .. tostring(reward3[1].num)) + + self.box3Add2Node:setVisible(true) + self.box3Add2ItemCell:refreshByCfg(reward3[2].id, 0) + self.box3Add2ItemCell:setNum("") + self.box3Add2ItemCell:addClickListener(function() + ModuleManager.TipsManager:showItemTips(reward3[2].id, self.box3Add2ItemCell:getBaseObject()) + end) + self.box3Add2Text:setText("+" .. tostring(reward3[2].num)) + end +end + +return BoxLevelUpUI \ No newline at end of file diff --git a/lua/app/ui/shop/box_level_up_ui.lua.meta b/lua/app/ui/shop/box_level_up_ui.lua.meta new file mode 100644 index 00000000..2d5eb8ae --- /dev/null +++ b/lua/app/ui/shop/box_level_up_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a0c868370ad4a41428279122b3d5dc49 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/shop/box_reward_ui.lua b/lua/app/ui/shop/box_reward_ui.lua index 4ba7373c..df9fa8be 100644 --- a/lua/app/ui/shop/box_reward_ui.lua +++ b/lua/app/ui/shop/box_reward_ui.lua @@ -61,8 +61,15 @@ function BoxRewardUI:onLoadRootComplete() self.closeTx = self.uiMap["box_reward_ui.close_tx"] self.closeTx:setText("点击关闭TD") -- TODOJ - self.closeTx:addClickListener(function() + + self.mask = self.uiMap["box_reward_ui.mask"] + self.mask:addClickListener(function() self:closeUI() + -- 如果宝箱等级提升了 则要弹出宝箱等级提升UI + if DataManager.SummonData:checkNeedPopBoxLvUpUI() then + DataManager.SummonData:clearNeedPopBoxLvUpUI() + ModuleManager.ShopManager:showBoxLevelUpUI() + end end) end diff --git a/lua/app/ui/shop/cell/box_sell_cell.lua b/lua/app/ui/shop/cell/box_sell_cell.lua index 4f9a90f9..46c1de02 100644 --- a/lua/app/ui/shop/cell/box_sell_cell.lua +++ b/lua/app/ui/shop/cell/box_sell_cell.lua @@ -116,6 +116,13 @@ function BoxSellCell:refreshCost() end function BoxSellCell:onClickBox(summonType) + local costItem, cost = DataManager.SummonData:getSummonCost(summonType) + if not GFunc.checkCost(costItem.id, costItem.num, false) then + if not GFunc.checkCost(cost.id, cost.num, true) then + return + end + end + ModuleManager.ShopManager:showBoxHeroUI(summonType) end diff --git a/lua/app/userdata/summon/summon_data.lua b/lua/app/userdata/summon/summon_data.lua index f8775b9e..d7e4d7a4 100644 --- a/lua/app/userdata/summon/summon_data.lua +++ b/lua/app/userdata/summon/summon_data.lua @@ -18,16 +18,24 @@ function SummonData:initCrossDay() end) end -function SummonData:init(summon) +function SummonData:init(summon, isInit) if EDITOR_MODE then Logger.logHighlight("召唤初始化") Logger.printTable(summon) end + local lastLv = self.level + summon = summon or {} self.level = summon.level or 1 self.exp = summon.exp or 0 + if not isInit then + if lastLv and lastLv < self.level then + self:markNeedPopBoxLvUpUI() + end + end + self:setDirty() end @@ -110,4 +118,17 @@ function SummonData:getLastSummonRewards() return self.summonRewards or {} end +-- 如果宝箱等级提升了 则标记 +function SummonData:markNeedPopBoxLvUpUI() + self.needPopBoxLvUpUI = true +end + +function SummonData:clearNeedPopBoxLvUpUI() + self.needPopBoxLvUpUI = false +end + +function SummonData:checkNeedPopBoxLvUpUI() + return self.needPopBoxLvUpUI +end + return SummonData \ No newline at end of file