召唤跳过

This commit is contained in:
puxuan 2025-11-07 11:47:05 +08:00
parent c9e55aae19
commit b69fd2227d
3 changed files with 44 additions and 47 deletions

View File

@ -972,6 +972,7 @@ local LocalizationGlobalConst =
FUND_CHAPTER_TAG_DESC_22 = "FUND_CHAPTER_TAG_DESC_22",
TALENT_HELP = "TALENT_HELP",
RECOMMENDED_POWER = "RECOMMENDED_POWER",
CLICK_SKIP_DESC = "CLICK_SKIP_DESC",
}
return LocalizationGlobalConst

View File

@ -972,6 +972,7 @@ local localization_global =
["FUND_CHAPTER_TAG_DESC_22"] = "关卡基金22",
["TALENT_HELP"] = "天赋帮助",
["RECOMMENDED_POWER"] = "推荐战斗力:{0}",
["CLICK_SKIP_DESC"] = "点击跳过",
}
return localization_global

View File

@ -82,7 +82,13 @@ function SummonMainUI:onLoadRootComplete()
end
self.touchNode = uiMap["summon_main_ui.touch_node"]
self.touchNodeDescTx = uiMap["summon_main_ui.touch_node.continue"]
self.touchNodeDescTx:setText(I18N:getGlobalText(I18N.GlobalConst.CLICK_SKIP_DESC))
self.touchNode:setActive(false)
self.touchNodeDescTx:setActive(false)
self.touchNode:addClickListener(function()
self.showIdx = 999
end)
self.btnSummonFree:addClickListener(function()
self:onSummon(1)
end)
@ -354,6 +360,7 @@ function SummonMainUI:summon(count, summonType)
if not DataManager.SummonData:getSkipAniFlag() then
AudioManager:playEffect(AudioManager.EFFECT_ID.UI_SUMMON_START)
end
self.touchNodeDescTx:setActive(false)
self:disableTouch()
self.uiNode:setActive(false)
ModuleManager.SummonManager:onForceSummonReq(count, summonType, self.page)
@ -416,6 +423,25 @@ function SummonMainUI:playSummonAni(result, newHero)
end)
end
function SummonMainUI:onSummonEnd()
self:enableTouch()
self.uiNode:setActive(true)
self.heroNode:removeAllChildren()
self.uiSpineObj:setActive(true)
self.uiSpineObj:playAnim("idle", true, true)
ModuleManager.SummonManager:showSummonRewardUI({
rewards = self.summonResult,
callback = function(count, isAd)
self:onSummon(count, isAd)
end,
closeCallBack =function ()
self:fly()
end,
newHero = self.newHero,
page = self.page
})
end
function SummonMainUI:onSummonRsp(result, newHero)
self:refreshSummonBtn()
if not result.rewards or not result.rewards[1] then
@ -423,7 +449,8 @@ function SummonMainUI:onSummonRsp(result, newHero)
self.uiNode:setActive(true)
return
end
local rewards = {}
self.newHero = newHero
self.summonResult = {}
local qlt = 3
for _, v in ipairs(result.rewards) do
local itemType = ModuleManager.ItemManager:getItemType(v.item.id)
@ -431,7 +458,7 @@ function SummonMainUI:onSummonRsp(result, newHero)
local id = v.item.id
local q = DataManager.HeroData:getHeroQlt(id)
qlt = math.max(qlt, q)
table.insert(rewards, v)
table.insert(self.summonResult, v)
end
end
if self.aniSeq then
@ -445,65 +472,33 @@ function SummonMainUI:onSummonRsp(result, newHero)
self.vfx02s[i]:setActive(false)
end
if DataManager.SummonData:getSkipAniFlag() then
self:enableTouch()
self.uiNode:setActive(true)
self.uiSpineObj:setActive(true)
self.uiSpineObj:playAnim("idle", true, true)
ModuleManager.SummonManager:showSummonRewardUI({
rewards = rewards,
callback = function(count, isAd)
self:onSummon(count, isAd)
end,
closeCallBack =function ()
self:fly()
end,
newHero = newHero,
page = self.page
})
self:onSummonEnd()
return
end
qlt = qlt - 2
self.summonResult = rewards
self.aniSeq = self.root:createBindTweenSequence()
if self.vfxs[qlt] then
self.vfxs[qlt]:setActive(true)
end
self.aniSeq:AppendInterval(1.5)
self.aniSeq:AppendCallback(function()
self:showHero(1, newHero)
self.touchNodeDescTx:setActive(true)
self.showIdx = 1
self:showHero()
end)
end
function SummonMainUI:showHero(idx, newHero)
if not self.summonResult[idx] then
-- self:enableTouch()
self.uiNode:setActive(true)
function SummonMainUI:showHero()
for i = 1, 4 do
self.vfxs[i]:setActive(false)
self.vfx01s[i]:setActive(false)
self.vfx02s[i]:setActive(false)
end
self.heroNode:removeAllChildren()
self.uiSpineObj:setActive(true)
self.uiSpineObj:playAnim("idle", true, true)
ModuleManager.SummonManager:showSummonRewardUI({
rewards = self.summonResult,
callback = function(count, isAd)
self:onSummon(count, isAd)
end,
closeCallBack =function ()
self:fly()
end,
newHero = newHero,
page = self.page
})
if not self.summonResult[self.showIdx] then
self:onSummonEnd()
return
end
for i = 1, 4 do
self.vfx01s[i]:setActive(false)
self.vfx02s[i]:setActive(false)
end
local id = self.summonResult[idx].item.id
local id = self.summonResult[self.showIdx].item.id
local cfg = DataManager.HeroData:getHeroConfig(id)
local qlt = cfg.qlt - 2
self.heroNode:removeAllChildren()
@ -523,7 +518,8 @@ function SummonMainUI:showHero(idx, newHero)
spineObject:setActive(true)
end, 0.25)
self:performWithDelayGlobal(function()
self:showHero(idx + 1, newHero)
self.showIdx = self.showIdx + 1
self:showHero()
end, 1)
end)
end
@ -544,7 +540,6 @@ function SummonMainUI:fly()
if i == 4 then
GFunc.doScaleFlyImg(self.btnShop)
self:refreshShopItem()
self:enableTouch()
end
end)
end