81 lines
No EOL
2.2 KiB
Lua
81 lines
No EOL
2.2 KiB
Lua
local XUiGridTemplateSave = XClass(nil, "XUiGridTemplateSave")
|
||
|
||
function XUiGridTemplateSave:Ctor(ui)
|
||
self.GameObject = ui.gameObject
|
||
self.Transform = ui.transform
|
||
|
||
XTool.InitUiObject(self)
|
||
self:AutoAddListener()
|
||
end
|
||
|
||
function XUiGridTemplateSave:Init(parent)
|
||
self.Parent = parent
|
||
self:SetSelect(false)
|
||
end
|
||
|
||
function XUiGridTemplateSave:RegisterClickEvent(uiNode, func)
|
||
if func == nil then
|
||
XLog.Error("XUiGridTemplateSave:RegisterClickEvent函数参数错误:参数func不能为空")
|
||
return
|
||
end
|
||
|
||
if type(func) ~= "function" then
|
||
XLog.Error("XUiGridTemplateSave:RegisterClickEvent函数错误, 参数func需要是function类型, func的类型是" .. type(func))
|
||
end
|
||
|
||
local listener = function(...)
|
||
func(self, ...)
|
||
end
|
||
|
||
CsXUiHelper.RegisterClickEvent(uiNode, listener)
|
||
end
|
||
|
||
function XUiGridTemplateSave:AutoAddListener()
|
||
self:RegisterClickEvent(self.BtnClick, self.OnBtnClick)
|
||
end
|
||
|
||
function XUiGridTemplateSave:OnBtnClick()
|
||
self.Parent:OnGridClick(self, self.Name, false, self.Index)
|
||
end
|
||
|
||
function XUiGridTemplateSave:SetSelect(status)
|
||
self.PanelSelect.gameObject:SetActiveEx(status)
|
||
end
|
||
|
||
function XUiGridTemplateSave:CheckCoverSave()
|
||
return self.HomeRoomData ~= nil
|
||
end
|
||
|
||
function XUiGridTemplateSave:Refresh(homeRoomData, collectCfg, isDefaultSelect, index)
|
||
self:SetSelect(false)
|
||
self.HomeRoomData = homeRoomData
|
||
self.CollectCfg = collectCfg
|
||
self.Index = index
|
||
|
||
local isHave = homeRoomData ~= nil
|
||
self.Name = isHave and self.HomeRoomData:GetRoomName() or collectCfg.DefaultName
|
||
self.PanelTemplate.gameObject:SetActiveEx(homeRoomData ~= nil)
|
||
self.PanelTemplateNone.gameObject:SetActiveEx(homeRoomData == nil)
|
||
|
||
self.TxtName.text = self.Name
|
||
if isDefaultSelect then
|
||
self.Parent:OnGridClick(self, self.Name, true, self.Index)
|
||
end
|
||
|
||
if not isHave then
|
||
return
|
||
end
|
||
|
||
self.HomeRoomData:GetRoomPicture(function(texture)
|
||
if texture then
|
||
self.RImgIcon.texture = texture
|
||
else
|
||
if isHave then
|
||
local imgPath = self.CollectCfg.DefaultIcon
|
||
self.RImgIcon:SetRawImage(imgPath, nil, false)
|
||
end
|
||
end
|
||
end)
|
||
end
|
||
|
||
return XUiGridTemplateSave |