78 lines
2.4 KiB
Lua
78 lines
2.4 KiB
Lua
|
local XUiGridLevel = XClass(nil, "XUiGridLevel")
|
|||
|
|
|||
|
function XUiGridLevel:Ctor(ui, parent, index)
|
|||
|
self.GameObject = ui.gameObject
|
|||
|
self.Transform = ui.transform
|
|||
|
self:InitAutoScript()
|
|||
|
self.Parent = parent
|
|||
|
self.Index = index
|
|||
|
|
|||
|
self.StarPool = self.PanelStar:GetComponent("XUnityPoolSingle")
|
|||
|
|
|||
|
end
|
|||
|
|
|||
|
function XUiGridLevel:SetGridLevelContent(data)
|
|||
|
self.Data = data
|
|||
|
|
|||
|
local position = data.Position
|
|||
|
self.TxtName.text = position.Name
|
|||
|
|
|||
|
local game = data.GameConfig
|
|||
|
local gameType = game.Type
|
|||
|
local star = game.Difficult
|
|||
|
|
|||
|
self.StarPool:DespawnAll()
|
|||
|
for _ = 1, star, 1 do
|
|||
|
self.StarPool:Spawn()
|
|||
|
end
|
|||
|
|
|||
|
local gameTypeCfg = XComeAcrossConfig.GetComeAcrossTypeConfigById(gameType)
|
|||
|
self.Parent:SetUiSprite(self.ImgType, gameTypeCfg.Icon)
|
|||
|
self.Parent:SetUiSprite(self.ImgHead, XDataCenter.CharacterManager.GetCharRoundnessHeadIcon(data.Character.Id))
|
|||
|
|
|||
|
end
|
|||
|
|
|||
|
-- auto
|
|||
|
-- Automatic generation of code, forbid to edit
|
|||
|
function XUiGridLevel:InitAutoScript()
|
|||
|
self:AutoInitUi()
|
|||
|
self:AutoAddListener()
|
|||
|
end
|
|||
|
|
|||
|
function XUiGridLevel:AutoInitUi()
|
|||
|
self.PanelStar = XUiHelper.TryGetComponent(self.Transform, "PanelStar", nil)
|
|||
|
self.ImgStar = XUiHelper.TryGetComponent(self.Transform, "PanelStar/ImgStar", "Image")
|
|||
|
self.TxtName = XUiHelper.TryGetComponent(self.Transform, "Image/TxtName", "Text")
|
|||
|
self.ImgType = XUiHelper.TryGetComponent(self.Transform, "Image/ImgType", "Image")
|
|||
|
self.ImgHead = XUiHelper.TryGetComponent(self.Transform, "ImgHead", "Image")
|
|||
|
self.BtnEnter = XUiHelper.TryGetComponent(self.Transform, "BtnEnter", "Button")
|
|||
|
end
|
|||
|
|
|||
|
function XUiGridLevel:RegisterClickEvent(uiNode, func)
|
|||
|
if func == nil then
|
|||
|
XLog.Error("XUiGridLevel:RegisterClickEvent函数参数错误:参数func不能为空")
|
|||
|
return
|
|||
|
end
|
|||
|
|
|||
|
if type(func) ~= "function" then
|
|||
|
XLog.Error("XUiGridLevel:RegisterClickEvent函数错误, 参数func需要是function类型, func的类型是" .. type(func))
|
|||
|
end
|
|||
|
|
|||
|
local listener = function(...)
|
|||
|
func(self, ...)
|
|||
|
end
|
|||
|
|
|||
|
CsXUiHelper.RegisterClickEvent(uiNode, listener)
|
|||
|
end
|
|||
|
|
|||
|
function XUiGridLevel:AutoAddListener()
|
|||
|
self:RegisterClickEvent(self.BtnEnter, self.OnBtnEnterClick)
|
|||
|
end
|
|||
|
-- auto
|
|||
|
function XUiGridLevel:OnBtnEnterClick()
|
|||
|
XDataCenter.ComeAcrossManager.ReqTrustGamePlayRequest(function()
|
|||
|
XLuaUiManager.Open("UiComeAcrossGame", self.Data)
|
|||
|
end)
|
|||
|
end
|
|||
|
|
|||
|
return XUiGridLevel
|