PGRData/Script/matrix/xui/xuistronghold/XUiGridQuickDeployMember.lua

83 lines
No EOL
2.5 KiB
Lua

local MEMBER_POS_COLOR = {
"FF1111FF", -- red
"4F99FFFF", -- blue
"F9CB35FF", -- yellow
}
local XUiGridQuickDeployMember = XClass(nil, "XUiGridQuickDeployMember")
function XUiGridQuickDeployMember:Ctor(ui, clickCb)
self.GameObject = ui.gameObject
self.Transform = ui.transform
self.ClickCb = clickCb
XTool.InitUiObject(self)
self:InitComponent()
end
function XUiGridQuickDeployMember:InitComponent()
self.RImgRole.gameObject:SetActiveEx(false)
self.ImgLeader.gameObject:SetActiveEx(false)
self.ImgFirstRole.gameObject:SetActiveEx(false)
self.ImgAbility.gameObject:SetActiveEx(false)
self.ImgSelect.gameObject:SetActiveEx(false)
self.PanelEffect.gameObject:SetActiveEx(false)
self.BtnMember.CallBack = function() self:OnMemberClick() end
end
function XUiGridQuickDeployMember:Refresh(teamList, teamId, memberIndex)
self.MemberIndex = memberIndex
self.TeamList = teamList
self.TeamId = teamId
local color = XUiHelper.Hexcolor2Color(MEMBER_POS_COLOR[self.MemberIndex])
self.ImgLeftSkill.color = color
self.ImgRightSkill.color = color
local member = self:GetMember()
if not member:IsEmpty() then
local characterId = member:GetShowCharacterId()
self.RImgRole.gameObject:SetActiveEx(true)
self.RImgRole:SetRawImage(XDataCenter.CharacterManager.GetCharSmallHeadIcon(characterId))
else
self.RImgRole.gameObject:SetActiveEx(false)
end
self.PanelEffect.gameObject:SetActiveEx(false)
self.TryTag.gameObject:SetActiveEx(member:IsRobot())
end
function XUiGridQuickDeployMember:OnMemberClick()
if self.ClickCb then
self.ClickCb(self, self.MemberIndex)
end
end
function XUiGridQuickDeployMember:ShowEffect()
self.PanelEffect.gameObject:SetActiveEx(false)
self.PanelEffect.gameObject:SetActiveEx(true)
end
function XUiGridQuickDeployMember:SetSelect(value)
self.ImgSelect.gameObject:SetActiveEx(value)
end
function XUiGridQuickDeployMember:RefreshCaptainPos(captainPos)
self.ImgLeader.gameObject:SetActiveEx(self.MemberIndex == captainPos)
end
function XUiGridQuickDeployMember:RefreshFirstFightPos(firstFightPos)
self.ImgFirstRole.gameObject:SetActiveEx(self.MemberIndex == firstFightPos)
end
function XUiGridQuickDeployMember:GetTeam()
return self.TeamList[self.TeamId]
end
function XUiGridQuickDeployMember:GetMember()
local team = self:GetTeam()
return team:GetMember(self.MemberIndex)
end
return XUiGridQuickDeployMember