78 lines
No EOL
2.4 KiB
Lua
78 lines
No EOL
2.4 KiB
Lua
--招募界面:底下的成员列表控件中的格子
|
|
local XUiMemberGrid = XClass(nil, "XUiMemberGrid")
|
|
|
|
function XUiMemberGrid:Ctor()
|
|
self.ElementImgIconList = {}
|
|
end
|
|
|
|
function XUiMemberGrid:Init(ui, rootUi)
|
|
self.Transform = ui.transform
|
|
self.GameObject = ui.gameObject
|
|
XTool.InitUiObject(self)
|
|
self:InitEffect()
|
|
self.Disable.gameObject:SetActiveEx(true)
|
|
self.Normal.gameObject:SetActiveEx(false)
|
|
self.PanelSelected.gameObject:SetActiveEx(false)
|
|
end
|
|
|
|
function XUiMemberGrid:RefreshDatas(adventureRole, index)
|
|
if not adventureRole then
|
|
self.GameObject:SetActiveEx(false)
|
|
return
|
|
end
|
|
|
|
local isUnLock = not XTool.IsTableEmpty(adventureRole)
|
|
self.Normal.gameObject:SetActiveEx(isUnLock)
|
|
self.Disable.gameObject:SetActiveEx(not isUnLock)
|
|
|
|
if not isUnLock then
|
|
return
|
|
end
|
|
|
|
local smallHeadIcon = adventureRole:GetSmallHeadIcon()
|
|
self.RImgHeadIcon:SetRawImage(smallHeadIcon)
|
|
|
|
local jobType = adventureRole:GetCareerType()
|
|
self.RImgIconType:SetRawImage(XCharacterConfigs.GetNpcTypeIcon(jobType))
|
|
|
|
self.TxtName.text = adventureRole:GetRoleName()
|
|
|
|
local elementList = adventureRole:GetElementList()
|
|
local elementConfig
|
|
local elementIconPath
|
|
for i, elementId in ipairs(elementList) do
|
|
local rImgIcon = self.ElementImgIconList[i]
|
|
if not rImgIcon then
|
|
rImgIcon = i == 1 and self.RImgIcon or XUiHelper.Instantiate(self.RImgIcon, self.PanelCharElement)
|
|
self.ElementImgIconList[i] = rImgIcon
|
|
end
|
|
|
|
elementConfig = XCharacterConfigs.GetCharElement(elementId)
|
|
elementIconPath = elementConfig.Icon2
|
|
rImgIcon:SetRawImage(elementIconPath)
|
|
rImgIcon.gameObject:SetActiveEx(true)
|
|
end
|
|
for i = #elementList + 1, #self.ElementImgIconList do
|
|
self.ElementImgIconList[i].gameObject:SetActiveEx(false)
|
|
end
|
|
end
|
|
|
|
function XUiMemberGrid:InitEffect()
|
|
self.PanelEffectLvUp.gameObject:SetActiveEx(false)
|
|
end
|
|
|
|
function XUiMemberGrid:PlayEffect()
|
|
self.PanelEffectLvUp.gameObject:SetActiveEx(false)
|
|
self.PanelEffectLvUp.gameObject:SetActiveEx(true)
|
|
XScheduleManager.ScheduleOnce(function()
|
|
if not XTool.UObjIsNil(self.PanelEffectLvUp) then
|
|
self.PanelEffectLvUp.gameObject:SetActiveEx(false)
|
|
end
|
|
end, XScheduleManager.SECOND)
|
|
end
|
|
|
|
function XUiMemberGrid:SetPanelSelectedActive(isActive)
|
|
self.PanelSelected.gameObject:SetActiveEx(isActive)
|
|
end
|
|
|
|
return XUiMemberGrid |