This commit is contained in:
xiekaidong 2023-05-24 11:02:29 +08:00
commit bc9ab3e3aa
9 changed files with 250 additions and 6 deletions

View File

@ -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()

View File

@ -75,6 +75,10 @@ local item = {
["name"]="随机碎片",
["desc"]="挂机可获得随机碎片,领取后数量和品质将根据关卡提升。"
},
[12001]={
["name"]="红SR-克劳德",
["desc"]="凑齐可解锁或升级。"
},
[13001]={
["name"]="红SR-克劳德",
["desc"]="凑齐可解锁或升级。"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: a0c868370ad4a41428279122b3d5dc49
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}

View File

@ -35,6 +35,7 @@ function BoxRewardUI:onLoadRootComplete()
self.uiMap = self.root:genAllChildren()
self.titleTx = self.uiMap["box_reward_ui.title.text"]
self.titleTx:setText("恭喜获得TD") -- TODOJ
self.scrollRectObj = self.uiMap["box_reward_ui.scroll_rect"]
self.scrollRect = self.scrollRectObj:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
@ -60,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

View File

@ -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

View File

@ -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
@ -71,10 +79,11 @@ function SummonData:getSummonRewardByLv(summonType, level)
end
function SummonData:getSummonTotalRewardByLv(summonType, level)
level = level or self:getSummonLevel()
local rewards = {}
for i = 1, level do
local lvRewards = self:getSummonRewardByLv(summonType)
for lv = 1, level do
local lvRewards = self:getSummonRewardByLv(summonType, lv)
for _, reward in ipairs(lvRewards) do
table.insert(rewards, reward)
end
@ -109,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