77 lines
2.0 KiB
Plaintext
77 lines
2.0 KiB
Plaintext
local baseCell = autoImport("BaseCell")
|
|
HairStyleCell = class("HairStyleCell", baseCell)
|
|
|
|
local recycleTable = {}
|
|
|
|
E_Gender = {["None"] = 0, ["Male"] = 1, ["Female"] = 2}
|
|
|
|
function HairStyleCell:Init()
|
|
self.goIcon = self:FindGO("Icon")
|
|
self.spSelected = self:FindGO("Selected"):GetComponent(UISprite)
|
|
self:CancelSelected()
|
|
self.isSelected = false
|
|
self:AddClickEvent(self.gameObject, function ()
|
|
self:OnClick()
|
|
end)
|
|
if self.headIconCell == nil then
|
|
self.headIconCell = HeadIconCell.new()
|
|
self.headIconCell:CreateSelf(self.goIcon)
|
|
local bc = self.headIconCell.gameObject:GetComponent(BoxCollider)
|
|
if bc ~= nil then
|
|
bc.enabled = false
|
|
end
|
|
self.headIconCell:SetMinDepth(0)
|
|
self.headIconCell:SetScale(0.66)
|
|
end
|
|
end
|
|
|
|
function HairStyleCell:SetData(data)
|
|
local hairStyleID = data.hairStyleID or 0
|
|
local hairColorID = data.hairColorID or 0
|
|
local gender = data.gender or 0
|
|
local bodyID = data.bodyID or 0
|
|
|
|
self.data = data
|
|
recycleTable.hairID = data.hairStyleID
|
|
recycleTable.haircolor = data.hairColorID
|
|
if data.gender == E_Gender.Male then
|
|
recycleTable.gender = RoleConfig.Gender.Male
|
|
else
|
|
recycleTable.gender = RoleConfig.Gender.Female
|
|
end
|
|
local classConf = Table_Class[data.classID]
|
|
if classConf ~= nil then
|
|
if data.gender == E_Gender.Male then
|
|
recycleTable.bodyID = classConf.MaleBody
|
|
else
|
|
recycleTable.bodyID = classConf.FemaleBody
|
|
end
|
|
end
|
|
if data.gender == E_Gender.Male then
|
|
recycleTable.eyeID = 1
|
|
elseif data.gender == E_Gender.Female then
|
|
recycleTable.eyeID = 2
|
|
end
|
|
self.headIconCell:SetData(recycleTable)
|
|
TableUtility.TableClear(recycleTable)
|
|
end
|
|
|
|
function HairStyleCell:OnClick()
|
|
self:Notify(CreateRoleViewEvent.HairStyleClick, {isSelected = not self.isSelected, id = self.data.hairStyleID})
|
|
|
|
if (self.isSelected) then
|
|
self:CancelSelected()
|
|
else
|
|
self:Selected()
|
|
end
|
|
end
|
|
|
|
function HairStyleCell:Selected()
|
|
self.isSelected = true
|
|
self.spSelected.enabled = true
|
|
end
|
|
|
|
function HairStyleCell:CancelSelected()
|
|
self.isSelected = false
|
|
self.spSelected.enabled = false
|
|
end |