54 lines
No EOL
1.7 KiB
Lua
54 lines
No EOL
1.7 KiB
Lua
local XUiSpecialTrainMusicMapSelect = XLuaUiManager.Register(XLuaUi, "UiSpecialTrainMusicMapSelect")
|
|
local XUiGridSpecialTrainMusicMap = require("XUi/XUiSpecialTrainMusic/XUiGridSpecialTrainMusicMap")
|
|
function XUiSpecialTrainMusicMapSelect:OnStart(stageId, closeCb)
|
|
self.StageId = stageId
|
|
self.CloseCallback = closeCb
|
|
self:InitUiView()
|
|
end
|
|
|
|
function XUiSpecialTrainMusicMapSelect:OnEnable()
|
|
|
|
end
|
|
|
|
function XUiSpecialTrainMusicMapSelect:OnDestroy()
|
|
if self.CloseCallback then
|
|
self.CloseCallback()
|
|
end
|
|
end
|
|
|
|
function XUiSpecialTrainMusicMapSelect:InitUiView()
|
|
self:RegisterButtonEvent()
|
|
self:InitScrollList()
|
|
end
|
|
|
|
function XUiSpecialTrainMusicMapSelect:InitScrollList()
|
|
self.GridList = {}
|
|
self.Stages = XDataCenter.FubenSpecialTrainManager.GetStagesByActivityId(XDataCenter.FubenSpecialTrainManager.GetCurActivityId())
|
|
for _, stageId in pairs(self.Stages) do
|
|
local obj = CS.UnityEngine.GameObject.Instantiate(self.GridMusic, self.Content)
|
|
local grid = XUiGridSpecialTrainMusicMap.New(stageId, obj,handler(self,self.OnClickGrid))
|
|
if stageId == self.StageId then
|
|
grid:SetSelect(true)
|
|
end
|
|
table.insert(self.GridList, grid)
|
|
end
|
|
self.GridMusic.gameObject:SetActiveEx(false)
|
|
end
|
|
|
|
function XUiSpecialTrainMusicMapSelect:RegisterButtonEvent()
|
|
self.BtnTanchuangClose.CallBack = function()
|
|
self:Close()
|
|
end
|
|
end
|
|
|
|
function XUiSpecialTrainMusicMapSelect:OnClickGrid(stageId)
|
|
XDataCenter.RoomManager.SetStageIdRequest(stageId,function()
|
|
self.StageId = stageId
|
|
for _, grid in pairs(self.GridList) do
|
|
grid:SetSelect(stageId == grid.StageId)
|
|
end
|
|
self:Close()
|
|
end)
|
|
end
|
|
|
|
return XUiSpecialTrainMusicMapSelect |