抽卡
This commit is contained in:
parent
0a5cedcf76
commit
1e8c35c9a0
@ -27,9 +27,9 @@ function SummonManager:showSummonOddsUI(summonId)
|
||||
UIManager:showUI("app/ui/summon/summon_odds_ui", {summonId = summonId})
|
||||
end
|
||||
|
||||
-- function SummonManager:showSummonResultUI(params)
|
||||
-- UIManager:showUI("app/ui/summon/summon_result_ui", params)
|
||||
-- end
|
||||
function SummonManager:showSummonUnlockUI(params)
|
||||
UIManager:showUI("app/ui/summon/summon_unlock_ui", params)
|
||||
end
|
||||
|
||||
--@region 协议
|
||||
function SummonManager:onForceSummonReq(count, free, summonType)
|
||||
@ -45,14 +45,14 @@ function SummonManager:onForceSummonRsp(result)
|
||||
return
|
||||
end
|
||||
DataManager.SummonData:updateSummonCount(result.reqData.id, result.reqData.times, result.reqData.free)
|
||||
local newForce = {}
|
||||
local newHero = {}
|
||||
local guarantee1 = DataManager.SummonData:getSummonWishGuarantee1(result.reqData.id)
|
||||
for _, reward in pairs(result.rewards) do
|
||||
-- local isNew = DataManager.ForceData:getForceIsNew(reward.item.id)
|
||||
-- if isNew then
|
||||
-- table.insert(newForce, reward.item.id)
|
||||
-- DataManager.ForceData:setForceIsNew(reward.item.id, false)
|
||||
-- end
|
||||
local isNew = DataManager.HeroData:getHeroIsNew(reward.item.id)
|
||||
isNew = true
|
||||
if isNew then
|
||||
table.insert(newHero, reward.item.id)
|
||||
end
|
||||
if guarantee1 then
|
||||
if DataManager.HeroData:getHeroQlt(reward.item.id) == 5 then
|
||||
DataManager.SummonData:setSummonTrigger(result.reqData.id, true)
|
||||
@ -61,7 +61,7 @@ function SummonManager:onForceSummonRsp(result)
|
||||
end
|
||||
end
|
||||
end
|
||||
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.FORCE_SUMMON, result, newForce)
|
||||
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.FORCE_SUMMON, result, newHero)
|
||||
-- BIReport:postForceSummon(result.reqData.free, result.reqData.times, result.rewards, result.costs)
|
||||
|
||||
-- local params = {
|
||||
@ -75,10 +75,8 @@ function SummonManager:onForceSummonRsp(result)
|
||||
-- DataManager.GameSettingData:showRateUIByForceSummon()
|
||||
-- end
|
||||
end
|
||||
|
||||
--@endregion
|
||||
|
||||
|
||||
function SummonManager:onSummonWishSetReq(summonType, heroId)
|
||||
self:sendMessage(ProtoMsgType.FromMsgEnum.SummonWishSetReq, {id = summonType, hero = heroId}, {}, self.onSummonWishSetRsp,
|
||||
BIReport.ITEM_GET_TYPE.FORCE_SUMMON_WISH_HREO_ID)
|
||||
|
||||
@ -11,7 +11,6 @@ local SummonMainUI = class("SummonMainUI", BaseUI)
|
||||
|
||||
function SummonMainUI:ctor(params)
|
||||
self.page = params.summonId or 1
|
||||
self._bgVfxMap = {}
|
||||
end
|
||||
|
||||
function SummonMainUI:getPrefabPath()
|
||||
@ -39,12 +38,7 @@ function SummonMainUI:getCurrencyParams()
|
||||
end
|
||||
|
||||
function SummonMainUI:onClose()
|
||||
if self._bgVfxMap then
|
||||
for k, v in pairs(self._bgVfxMap) do
|
||||
v:destroy()
|
||||
end
|
||||
self._bgVfxMap = nil
|
||||
end
|
||||
self.heroNode:removeAllChildren()
|
||||
-- EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.MAIN_UI_CHECK_POP)
|
||||
end
|
||||
|
||||
@ -74,22 +68,10 @@ function SummonMainUI:onLoadRootComplete()
|
||||
self.btnWishTx = uiMap["summon_main_ui.node.btn_wish.unlock.tx_guarantee"] --心愿
|
||||
self.btnWishIcon = uiMap["summon_main_ui.node.btn_wish.unlock.img_wish_icon"] --心愿
|
||||
self.btnWishAddImg = uiMap["summon_main_ui.node.btn_wish.add_img"]
|
||||
self.heroNode = uiMap["summon_main_ui.node.hero_node"]
|
||||
|
||||
-- self.toggleJump = uiMap["summon_main_ui.jump_tween"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TOGGLE)
|
||||
-- self.isJumpTween = self.toggleJump.isOn
|
||||
-- self.toggleJump.onValueChanged:AddListener(function(isOn) self.isJumpTween = isOn end)
|
||||
self.touchNode = uiMap["summon_main_ui.node.touch_node"]
|
||||
self.touchNode:setActive(false)
|
||||
-- uiMap["summon_main_ui.jump_tween"]:setActive(false)
|
||||
|
||||
-- self.vfx_b13_ui_chouka_bg_b01 = uiMap["summon_main_ui.vfx_b13_ui_chouka_bg_b01"]
|
||||
-- self.wishMask = uiMap["summon_main_ui.node.btn_wish.unlock.mask"]
|
||||
-- self.wishQlt = uiMap["summon_main_ui.node.btn_wish.unlock.qlt"]
|
||||
-- self.wishMaskSlider = uiMap["summon_main_ui.node.btn_wish.unlock.mask"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE)
|
||||
|
||||
-- self.descTx = uiMap["summon_main_ui.btn_wish.desc_tx"]
|
||||
-- self.descTx = uiMap["summon_main_ui.btn_info.desc_tx"]
|
||||
-- self.descTx = uiMap["summon_main_ui.jump_tween.desc_tx"]
|
||||
self.btnSummonFree:addClickListener(function()
|
||||
self:onSummon(1)
|
||||
end)
|
||||
@ -105,6 +87,15 @@ function SummonMainUI:onLoadRootComplete()
|
||||
end)
|
||||
end)
|
||||
|
||||
self.vfxs = {}
|
||||
self.vfx01s = {}
|
||||
for i = 1, 4 do
|
||||
self.vfxs[i] = uiMap["summon_main_ui.node.vfx_c1_chouka_0" .. i]
|
||||
self.vfx01s[i] = uiMap["summon_main_ui.node.vfx_c1_chouka_0" .. i .. "_1"]
|
||||
self.vfxs[i]:setActive(false)
|
||||
self.vfx01s[i]:setActive(false)
|
||||
end
|
||||
|
||||
uiMap["summon_main_ui.node.btn_info"]:addClickListener(function()
|
||||
ModuleManager.SummonManager:showSummonOddsUI(self.page)
|
||||
end)
|
||||
@ -118,20 +109,6 @@ function SummonMainUI:onLoadRootComplete()
|
||||
uiMap["summon_main_ui.node.btn_info.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_3))
|
||||
self.descBg = uiMap["summon_main_ui.node.desc_bg"]
|
||||
self.descTx = uiMap["summon_main_ui.node.desc_bg.desc_tx"]
|
||||
-- self.spineHero = {}
|
||||
-- for i = 1, 3 do
|
||||
-- self.spineHero[i] = uiMap['summon_main_ui.ui_spine_obj_'..i]
|
||||
-- if i ~= 1 then
|
||||
-- self.spineHero[i]:setDefaultMix(0)
|
||||
-- end
|
||||
-- end
|
||||
-- self.heroTips = {}
|
||||
-- for i = 1, 2 do
|
||||
-- self.heroTips[i] = {}
|
||||
-- self.heroTips[i].tips = uiMap['summon_main_ui.node.hero_'..i]
|
||||
-- self.heroTips[i].txName = uiMap['summon_main_ui.node.hero_'..i..'.tx_hero_name']
|
||||
-- self.heroTips[i].txDesc = uiMap['summon_main_ui.node.hero_'..i..'.tx_hero_desc']
|
||||
-- end
|
||||
self.btnTxs = {
|
||||
I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_6),
|
||||
I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_7),
|
||||
@ -153,16 +130,16 @@ function SummonMainUI:onLoadRootComplete()
|
||||
end
|
||||
|
||||
-------------抽奖相关---------
|
||||
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON, function(result, newForce)
|
||||
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON, function(result, newHero)
|
||||
self:refreshWishBtn()
|
||||
self:onSummonRsp(result, newForce)
|
||||
self:onSummonRsp(result, newHero)
|
||||
end)
|
||||
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_CLAIM, function(result, newForce)
|
||||
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_CLAIM, function(result, newHero)
|
||||
self:refreshWishBtn()
|
||||
ModuleManager.SummonManager:showSummonRewardUI({
|
||||
rewards = result.rewards,
|
||||
isWish = true,
|
||||
newForce = newForce,
|
||||
newHero = newHero,
|
||||
page = self.page
|
||||
})
|
||||
end)
|
||||
@ -232,38 +209,10 @@ function SummonMainUI:refreshPageBtn()
|
||||
for i = 1, 2 do
|
||||
if self.page == i then
|
||||
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.ACT_COMMON, "act_common_btn_" .. i .."_1")
|
||||
-- self.pageBtnTxs[i]:setText(self.btnTxs[i])
|
||||
else
|
||||
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.ACT_COMMON, "act_common_btn_" .. i .."_2")
|
||||
-- self.pageBtnTxs[i]:setText("<color=#72778C>" .. self.btnTxs[i] .. "</color>")
|
||||
end
|
||||
end
|
||||
-- for i, v in ipairs(self.pageBtns) do
|
||||
-- if i <= table.nums(summonList) then
|
||||
-- local isRedPoint = false
|
||||
-- if i == 1 then
|
||||
-- if DataManager.SummonData:hasSummonFree(1) or GFunc.checkCost(GConst.ItemConst.ITEM_ID_QLT_5_FRAGMENT, 1, false) then
|
||||
-- isRedPoint = true
|
||||
-- end
|
||||
-- else
|
||||
-- local itemCost = DataManager.SummonData:getSummonItemCost(summonList[i])
|
||||
-- if itemCost then
|
||||
-- local costId = GFunc.getRewardId(itemCost)
|
||||
-- local costNum = GFunc.getRewardNum(itemCost)
|
||||
-- if GFunc.checkCost(costId, costNum, false) then
|
||||
-- isRedPoint = true
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- if isRedPoint then
|
||||
-- v.btn:addRedPoint(33, 33, 1)
|
||||
-- else
|
||||
-- v.btn:removeRedPoint()
|
||||
-- end
|
||||
-- else
|
||||
-- v.btn:setActive(false)
|
||||
-- end
|
||||
-- end
|
||||
end
|
||||
|
||||
--刷新抽奖按钮
|
||||
@ -273,13 +222,10 @@ function SummonMainUI:refreshSummonBtn()
|
||||
self.btnSummonAd:setActive(adCount > 0)
|
||||
self.btnSummonFree:setActive(freeCount > 0)
|
||||
self.btnSummonOne:setActive(freeCount <= 0)
|
||||
-- self.txFreeTime:setActive(not isFree and not DataManager.SummonData:getIsActivity())
|
||||
|
||||
local itemCost = DataManager.SummonData:getSummonItemCost(self.page)
|
||||
local costId = itemCost.id
|
||||
-- local costNum = itemCost.num
|
||||
local hadNum = DataManager.BagData.ItemData:getItemNumById(costId)
|
||||
-- local obj = DataManager.BagData.ItemData:getItemById(costId)
|
||||
if freeCount <= 0 then
|
||||
if hadNum >= 1 then
|
||||
self.txNumOne:setText(1)
|
||||
@ -336,7 +282,6 @@ function SummonMainUI:refreshWishBtn()
|
||||
local summonCount = DataManager.SummonData:getSummonCount(self.page)
|
||||
local unlockCount = DataManager.SummonData:getSummonWishUnlock(self.page)
|
||||
self.isUnlock = summonCount >= unlockCount
|
||||
-- self.txUnlock:setText(summonCount .. "/" .. unlockCount .. I18N:getGlobalText(I18N.GlobalConst.MAGIC_BOOK_DESC_4))
|
||||
local wishCount = DataManager.SummonData:getSummonWishCount(self.page)
|
||||
local needCount = DataManager.SummonData:getSummonWishGuarantee2(self.page)
|
||||
self.btnWishTx:setText(wishCount .. "/" .. needCount)
|
||||
@ -349,7 +294,6 @@ function SummonMainUI:refreshWishBtn()
|
||||
self.btnWishAddImg:setActive(false)
|
||||
else
|
||||
self.btnWishIcon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha")
|
||||
-- self.btnWish:setSprite(GConst.ATLAS_PATH.ICON_ITEM, "frame_1")
|
||||
self.btnWishAddImg:setActive(true)
|
||||
end
|
||||
end
|
||||
@ -364,12 +308,15 @@ function SummonMainUI:refreshBtnRedPoint()
|
||||
end
|
||||
|
||||
function SummonMainUI:onSummon(count, isAd)
|
||||
self.heroNode:removeAllChildren()
|
||||
if isAd then
|
||||
AudioManager:playEffect(AudioManager.EFFECT_ID.UI_SUMMON_START)
|
||||
self:disableTouch()
|
||||
ModuleManager.SummonManager:onForceSummonReq(count, 1, self.page)
|
||||
else
|
||||
local freeCount = DataManager.SummonData:getSummonFreeCount(self.page)
|
||||
if freeCount > 0 and count == 1 then
|
||||
self:disableTouch()
|
||||
ModuleManager.SummonManager:onForceSummonReq(count, 2, self.page)
|
||||
return
|
||||
end
|
||||
@ -397,6 +344,7 @@ function SummonMainUI:onSummon(count, isAd)
|
||||
end
|
||||
end
|
||||
AudioManager:playEffect(AudioManager.EFFECT_ID.UI_SUMMON_START)
|
||||
self:disableTouch()
|
||||
ModuleManager.SummonManager:onForceSummonReq(count, 0, self.page)
|
||||
end
|
||||
GFunc.showMessageBox(params)
|
||||
@ -409,41 +357,77 @@ function SummonMainUI:onSummon(count, isAd)
|
||||
end
|
||||
end
|
||||
AudioManager:playEffect(AudioManager.EFFECT_ID.UI_SUMMON_START)
|
||||
self:disableTouch()
|
||||
ModuleManager.SummonManager:onForceSummonReq(count, 0, self.page)
|
||||
end
|
||||
end
|
||||
|
||||
function SummonMainUI:onSummonRsp(result, newForce)
|
||||
function SummonMainUI:onSummonRsp(result, newHero)
|
||||
self:refreshSummonBtn()
|
||||
self.summonResult = result
|
||||
if self.isJumpTween or self.selectSpineId ~= 1 then
|
||||
if not result.rewards or not result.rewards[1] then
|
||||
self:enableTouch()
|
||||
return
|
||||
end
|
||||
if self.aniSeq then
|
||||
self.aniSeq:Kill()
|
||||
self.aniSeq = nil
|
||||
end
|
||||
|
||||
for i = 1, 4 do
|
||||
self.vfxs[i]:setActive(false)
|
||||
self.vfx01s[i]:setActive(false)
|
||||
end
|
||||
local id = result.rewards[1].item.id
|
||||
local qlt = DataManager.HeroData:getHeroQlt(id) - 2
|
||||
self.summonResult = result.rewards
|
||||
self.aniSeq = self.root:createBindTweenSequence()
|
||||
if self.vfxs[qlt] then
|
||||
self.vfxs[qlt]:setActive(true)
|
||||
end
|
||||
self.aniSeq:AppendInterval(2)
|
||||
self.aniSeq:AppendCallback(function()
|
||||
self:showHero(1, newHero)
|
||||
end)
|
||||
end
|
||||
|
||||
function SummonMainUI:showHero(idx, newHero)
|
||||
if not self.summonResult[idx] then
|
||||
self:enableTouch()
|
||||
for i = 1, 4 do
|
||||
self.vfxs[i]:setActive(false)
|
||||
self.vfx01s[i]:setActive(false)
|
||||
end
|
||||
ModuleManager.SummonManager:showSummonRewardUI({
|
||||
rewards = self.summonResult.rewards,
|
||||
callback = function(count, isAd)
|
||||
self:onSummon(count, isAd)
|
||||
rewards = self.summonResult,
|
||||
callback = function(count)
|
||||
self:onSummon(count)
|
||||
end,
|
||||
newForce = newForce,
|
||||
newHero = newHero,
|
||||
page = self.page
|
||||
})
|
||||
else
|
||||
self:disableTouch()
|
||||
self.selectSpine:playAnimComplete("open01", false, true, function()
|
||||
self.selectSpine:playAnim("idle02", true, false)
|
||||
end, false, 0.4, function()
|
||||
ModuleManager.SummonManager:showSummonRewardUI({
|
||||
rewards = self.summonResult.rewards,
|
||||
callback = function(count)
|
||||
self:onSummon(count)
|
||||
end,
|
||||
tweenEnd = function()
|
||||
self:enableTouch()
|
||||
self.selectSpine:playAnim("idle01", true, false)
|
||||
end,
|
||||
newForce = newForce,
|
||||
page = self.page
|
||||
})
|
||||
end)
|
||||
return
|
||||
end
|
||||
for i = 1, 4 do
|
||||
self.vfx01s[i]:setActive(false)
|
||||
end
|
||||
local id = self.summonResult[idx].item.id
|
||||
local cfg = DataManager.HeroData:getHeroConfig(id)
|
||||
local qlt = cfg.qlt - 2
|
||||
self.heroNode:removeAllChildren()
|
||||
SpineManager:loadHeroAsync(cfg.model_id, self.heroNode, function(spineObject)
|
||||
spineObject:setActive(false)
|
||||
spineObject:playAnimation("idle", true)
|
||||
spineObject:setLocalScale(0.7, 0.7, 0.7)
|
||||
if self.vfx01s[qlt] then
|
||||
self.vfx01s[qlt]:setActive(true)
|
||||
end
|
||||
self:performWithDelayGlobal(function()
|
||||
spineObject:setActive(true)
|
||||
end, 0.25)
|
||||
self:performWithDelayGlobal(function()
|
||||
self:showHero(idx + 1, newHero)
|
||||
end, 1)
|
||||
end)
|
||||
end
|
||||
|
||||
function SummonMainUI:disableTouch()
|
||||
|
||||
@ -13,8 +13,7 @@ function SummonRewardUI:ctor(params)
|
||||
self.rewards = params.rewards or {}
|
||||
self.isWish = params.isWish or false
|
||||
self.callback = params.callback
|
||||
self.tweenEnd = params.tweenEnd
|
||||
self.unlockList = params.newForce
|
||||
self.unlockList = params.newHero or {}
|
||||
self.page = params.page
|
||||
end
|
||||
|
||||
@ -96,11 +95,6 @@ function SummonRewardUI:setCellEffectOrder(cell)
|
||||
effect:setSortingOrder(self:getUIOrder(), 10)
|
||||
end
|
||||
end
|
||||
function SummonRewardUI:onClose()
|
||||
if self.tweenEnd ~= nil then
|
||||
self.tweenEnd()
|
||||
end
|
||||
end
|
||||
|
||||
function SummonRewardUI:refreshSummonBtn()
|
||||
local freeCount = DataManager.SummonData:getSummonFreeCount(self.page)
|
||||
@ -173,10 +167,10 @@ function SummonRewardUI:onRefresh()
|
||||
|
||||
self.rewardOneCell:refresh(self.rewards[1], 0, self)
|
||||
local qlt = DataManager.HeroData:getHeroQlt(self.rewards[1].item.id)
|
||||
if qlt == 4 or qlt == 5 then
|
||||
offsetTime = offsetTime + 0.5
|
||||
self:doUITweenShake(0.7)
|
||||
end
|
||||
-- if qlt == 4 or qlt == 5 then
|
||||
-- offsetTime = offsetTime + 0.5
|
||||
-- self:doUITweenShake(0.7)
|
||||
-- end
|
||||
CS.DG.Tweening.DOVirtual.DelayedCall(0.3 + offsetTime, function()
|
||||
self:checkUnlockMap()
|
||||
self.btnGet:setActive(true)
|
||||
@ -198,15 +192,15 @@ function SummonRewardUI:onRefresh()
|
||||
if self.rewards[i] then
|
||||
local delayTime = (i - 1) * 0.06 + offsetTime
|
||||
local qlt = DataManager.HeroData:getHeroQlt(self.rewards[i].item.id)
|
||||
if qlt == 4 or qlt == 5 then
|
||||
offsetTime = offsetTime + 1
|
||||
end
|
||||
-- if qlt == 4 or qlt == 5 then
|
||||
-- offsetTime = offsetTime + 1
|
||||
-- end
|
||||
self.rewardTenCells[i]:getBaseObject():setActive(false)
|
||||
self:performWithDelayGlobal(function()
|
||||
self.rewardTenCells[i]:refresh(self.rewards[i], i == 3 or i == 7, self)
|
||||
if qlt == 4 or qlt == 5 then
|
||||
self:doUITweenShake(0.3)
|
||||
end
|
||||
-- if qlt == 4 or qlt == 5 then
|
||||
-- self:doUITweenShake(0.3)
|
||||
-- end
|
||||
end, delayTime)
|
||||
end
|
||||
end
|
||||
@ -237,6 +231,7 @@ function SummonRewardUI:doUITweenShake(delayTime)
|
||||
self.shakeSeq:AppendInterval(delayTime)
|
||||
self.shakeSeq:Append(self.tranBg:getTransform():DOShakeAnchorPos(duration, strength,vibrato, randomness, fadeOut))
|
||||
end
|
||||
|
||||
function SummonRewardUI:checkUnlockMap()
|
||||
if self.unlockList == nil then
|
||||
return
|
||||
@ -245,7 +240,9 @@ function SummonRewardUI:checkUnlockMap()
|
||||
return
|
||||
end
|
||||
if #self.unlockList > 0 then
|
||||
ModuleManager.ForceManager:showForceUnlockUI(self.unlockList)
|
||||
local params = {}
|
||||
params.unlockList = self.unlockList
|
||||
ModuleManager.SummonManager:showSummonUnlockUI(params)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
74
lua/app/ui/summon/summon_unlock_ui.lua
Executable file
74
lua/app/ui/summon/summon_unlock_ui.lua
Executable file
@ -0,0 +1,74 @@
|
||||
local SummonUnlockUI = class("SummonUnlockUI", BaseUI)
|
||||
|
||||
local CELL_HEIGHT = 230
|
||||
local CELL_HEIGHT_1 = 120
|
||||
local NOT_OWN_NODE_HEIGHT = 56
|
||||
local DIFF_HEIGHT = 20
|
||||
local ForceCell = "app/ui/summon/cell/summon_force_cell"
|
||||
|
||||
function SummonUnlockUI:isFullScreen()
|
||||
return false
|
||||
end
|
||||
|
||||
function SummonUnlockUI:ctor(params)
|
||||
params = params or {}
|
||||
self.unlockList = params.unlockList or {}
|
||||
self.idx = 1
|
||||
end
|
||||
|
||||
function SummonUnlockUI:getPrefabPath()
|
||||
return "assets/prefabs/ui/summon/summon_unlock_ui.prefab"
|
||||
end
|
||||
|
||||
function SummonUnlockUI:onClose()
|
||||
self.heroNode:removeAllChildren()
|
||||
end
|
||||
|
||||
function SummonUnlockUI:onLoadRootComplete()
|
||||
local uiMap = self.root:genAllChildren()
|
||||
self.root:addClickListener(function()
|
||||
self:checkUnlockMap()
|
||||
end)
|
||||
|
||||
self.heroNode = uiMap["summon_unlock_ui.hero_node"]
|
||||
self.nameTx = uiMap["summon_unlock_ui.name_tx"]
|
||||
self.matchTx = uiMap["summon_unlock_ui.match_tx"]
|
||||
self.matchImg = uiMap["summon_unlock_ui.match_tx.match_img"]
|
||||
self.qltBg = uiMap["summon_unlock_ui.qlt_bg"]
|
||||
self.qltBgTx = uiMap["summon_unlock_ui.qlt_bg.qlt_tx"]
|
||||
|
||||
uiMap["summon_unlock_ui.title_bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.ACTIVITY_MOON_DESC_3))
|
||||
uiMap["summon_unlock_ui.continue_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.CLICK_TO_CONTINUE))
|
||||
end
|
||||
|
||||
function SummonUnlockUI:onRefresh()
|
||||
self.heroNode:removeAllChildren()
|
||||
self.heroId = table.remove(self.unlockList, 1)
|
||||
local heroEntity = DataManager.HeroData:getHeroById(self.heroId)
|
||||
local matchType = heroEntity:getMatchType()
|
||||
local qlt = heroEntity:getQlt()
|
||||
self.matchTx:setText(ModuleManager.HeroManager:getMatchTypeName(matchType))
|
||||
self.matchImg:setSprite(GConst.ATLAS_PATH.ICON_HERO, ModuleManager.HeroManager:getMatchTypeIcon(matchType))
|
||||
self.qltBg:setSprite(GFunc.getHeroQltImg(qlt))
|
||||
self.qltBgTx:setText(GFunc.getHeroQltStr(qlt))
|
||||
|
||||
self:loadHero()
|
||||
end
|
||||
|
||||
function SummonUnlockUI:loadHero()
|
||||
local cfg = DataManager.HeroData:getHeroConfig(self.heroId)
|
||||
SpineManager:loadHeroAsync(cfg.model_id, self.heroNode, function(spineObject)
|
||||
spineObject:playAnimation("idle", true)
|
||||
end)
|
||||
end
|
||||
|
||||
function SummonUnlockUI:checkUnlockMap()
|
||||
if #self.unlockList <= 0 then
|
||||
self:closeUI()
|
||||
return
|
||||
end
|
||||
self.idx = self.idx + 1
|
||||
self:onRefresh()
|
||||
end
|
||||
|
||||
return SummonUnlockUI
|
||||
10
lua/app/ui/summon/summon_unlock_ui.lua.meta
Normal file
10
lua/app/ui/summon/summon_unlock_ui.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d3de32bc1e0064d78ba113bdfbf65cc3
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
@ -145,6 +145,11 @@ function HeroData:setHeroLv(id, lv)
|
||||
BIReport:postFirstDayHeroLevel(id)
|
||||
end
|
||||
|
||||
function HeroData:getHeroIsNew(id)
|
||||
local entity = self:getHeroById(id)
|
||||
return entity and entity:getIsNew() or false
|
||||
end
|
||||
|
||||
function HeroData:getMatchActiveHeroMap()
|
||||
return self.matchActiveHeroMap
|
||||
end
|
||||
|
||||
@ -9,6 +9,7 @@ function HeroEntity:ctor(cfgId, lv, skin, star)
|
||||
self.data.star = star or 0
|
||||
self.config = ConfigManager:getConfig("hero")[self.cfgId]
|
||||
self.beginLv = 1 -- 激活等级
|
||||
self.isNew = false
|
||||
|
||||
self.baseAttrOriginal = {}
|
||||
self.starAttr = {}
|
||||
@ -282,6 +283,7 @@ function HeroEntity:setLv(lv, onlyChangeLv)
|
||||
if self.data.lv == lv then
|
||||
return
|
||||
end
|
||||
self.isNew = lv == 1
|
||||
self.oldLv = self.data.lv
|
||||
self.data.lv = lv
|
||||
self:_updateAllBaseAttr()
|
||||
@ -294,6 +296,12 @@ function HeroEntity:setLv(lv, onlyChangeLv)
|
||||
end
|
||||
end
|
||||
|
||||
function HeroEntity:getIsNew()
|
||||
local isNew = self.isNew
|
||||
self.isNew = false
|
||||
return isNew
|
||||
end
|
||||
|
||||
function HeroEntity:getLv()
|
||||
return self.data.lv
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user