c1_lua/lua/app/ui/summon/summon_wish_ui.lua
2025-08-12 19:42:46 +08:00

81 lines
2.3 KiB
Lua
Executable File

local SummonWishUI = class("SummonWishUI", BaseUI)
local SummonHeroCell = "app/ui/summon/cell/summon_hero_cell"
function SummonWishUI:isFullScreen()
return false
end
function SummonWishUI:ctor(params)
self.page = params.summonId or 1
end
function SummonWishUI:getPrefabPath()
return "assets/prefabs/ui/summon/summon_wish_ui.prefab"
end
function SummonWishUI:onLoadRootComplete()
local uiMap = self.root:genAllChildren()
self.root:addClickListener(function()
self:closeUI()
end)
uiMap["summon_wish_ui.bg.btn_close"]:addClickListener(function()
self:closeUI()
end)
local okBtn = uiMap["summon_wish_ui.bg.ok_btn"]
self.descTx = uiMap["summon_wish_ui.bg.desc_tx"]
uiMap["summon_wish_ui.bg.tx_title"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_WISH_TITLE))
uiMap["summon_wish_ui.bg.ok_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_WISH_OK))
self.selHeroCell = uiMap["summon_wish_ui.bg.summon_hero_cell"]:addLuaComponent(SummonHeroCell)
self.scrollrect = uiMap["summon_wish_ui.bg.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
self.scrollrect:addInitCallback(function()
return SummonHeroCell
end)
self.scrollrect:addRefreshCallback(function(index, cell)
cell:refresh(self.wishHeroId, self.list[index], function (heroId)
if heroId == self.wishHeroId then
self.wishHeroId = nil
else
self.wishHeroId = heroId
end
self:onRefresh()
end)
end)
self.scrollrect:clearCells()
self.list = DataManager.SummonData:getSummonWishConfig(self.page)
self.wishHeroId = DataManager.SummonData:getSummonWishHeroId(self.page)
okBtn:addClickListener(function()
self:saveWish()
end)
self:bind(DataManager.SummonData, "isDirty", function()
self:onRefresh()
end)
end
function SummonWishUI:onRefresh()
if self.page == 1 then
self.descTx:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_WISH_TIPS))
else
self.descTx:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_WISH_TIPS_2))
end
self.scrollrect:refillCells(#self.list)
self.selHeroCell:refresh(self.wishHeroId, self.wishHeroId, nil, true)
end
function SummonWishUI:saveWish()
if not self.wishHeroId or self.wishHeroId == 0 then
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.BATTLE_FORCE_CHOOSE_DESC_2))
return
end
ModuleManager.SummonManager:onSummonWishSetReq(self.page, self.wishHeroId)
self:closeUI()
end
return SummonWishUI