5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
54 lines
1.7 KiB
Lua
54 lines
1.7 KiB
Lua
local MallGemCtrl = class("MallGemCtrl", BaseCtrl)
|
|
MallGemCtrl._mapNodeConfig = {
|
|
sv = {
|
|
sComponentName = "LoopScrollView"
|
|
}
|
|
}
|
|
MallGemCtrl._mapEventConfig = {MallOrderClear = "Refresh"}
|
|
function MallGemCtrl:Refresh()
|
|
if self._panel.nCurTog ~= AllEnum.MallToggle.Gem then
|
|
return
|
|
end
|
|
local callback = function(tbList)
|
|
table.sort(tbList, function(a, b)
|
|
return ConfigTable.GetData("MallGem", a.Id).Order < ConfigTable.GetData("MallGem", b.Id).Order
|
|
end)
|
|
self.tbList = tbList
|
|
for nInstanceId, objCtrl in pairs(self.tbGridCtrl) do
|
|
self:UnbindCtrlByNode(objCtrl)
|
|
self.tbGridCtrl[nInstanceId] = nil
|
|
end
|
|
self._mapNode.sv:SetAnim(0.04)
|
|
self._mapNode.sv:Init(#self.tbList, self, self.OnGridRefresh, self.OnGridBtnClick)
|
|
end
|
|
PlayerData.Mall:SendMallGemListReq(callback)
|
|
end
|
|
function MallGemCtrl:OnGridRefresh(goGrid, gridIndex)
|
|
local nIndex = gridIndex + 1
|
|
local mapData = self.tbList[nIndex]
|
|
local nInstanceID = goGrid:GetInstanceID()
|
|
if not self.tbGridCtrl[nInstanceID] then
|
|
self.tbGridCtrl[nInstanceID] = self:BindCtrlByNode(goGrid, "Game.UI.Mall.MallGemItemCtrl")
|
|
end
|
|
self.tbGridCtrl[nInstanceID]:Refresh(mapData)
|
|
end
|
|
function MallGemCtrl:OnGridBtnClick(goGrid, gridIndex)
|
|
local nIndex = gridIndex + 1
|
|
PlayerData.Mall:BuyGem(self.tbList[nIndex].Id, ConfigTable.GetData("MallGem", self.tbList[nIndex].Id).StatisticalGroup)
|
|
end
|
|
function MallGemCtrl:Awake()
|
|
self.tbGridCtrl = {}
|
|
end
|
|
function MallGemCtrl:OnEnable()
|
|
end
|
|
function MallGemCtrl:OnDisable()
|
|
for nInstanceId, objCtrl in pairs(self.tbGridCtrl) do
|
|
self:UnbindCtrlByNode(objCtrl)
|
|
self.tbGridCtrl[nInstanceId] = nil
|
|
end
|
|
self.tbGridCtrl = {}
|
|
end
|
|
function MallGemCtrl:OnDestroy()
|
|
end
|
|
return MallGemCtrl
|