58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
local BaseCell = autoImport("BaseCell");
|
|
GuildJobChangeCell = class("GuildJobChangeCell", BaseCell);
|
|
|
|
GuildJobChangeCell.ChooseSprite = "com_btn_2";
|
|
GuildJobChangeCell.ChooseLabelColor = Color(159/255,79/255,9/255);
|
|
GuildJobChangeCell.UnChooseSprite = "com_btn_1";
|
|
GuildJobChangeCell.UnChooseLabelColor = Color(48/255,65/255,147/255);
|
|
|
|
function GuildJobChangeCell:Init()
|
|
self.label = self:FindComponent("Label", UILabel);
|
|
self.bg = self:FindComponent("Bg", UISprite);
|
|
self:AddCellClickEvent();
|
|
end
|
|
|
|
-- {job, jobname }
|
|
function GuildJobChangeCell:SetData(data)
|
|
self.data = data;
|
|
if(data)then
|
|
if(self.data.id == GuildJobType.ViceChairman)then
|
|
local nowNum = #GuildProxy.Instance.myGuildData:GetViceChairmanList();
|
|
local maxNum = GuildProxy.Instance.myGuildData:GetGuildConfig().Management;
|
|
self.label.text = string.format("%s(%s/%s)", self.data.name, tostring(nowNum), tostring(maxNum));
|
|
else
|
|
self.label.text = data.name;
|
|
end
|
|
self:SetChoose();
|
|
self:SetEnable();
|
|
end
|
|
end
|
|
|
|
function GuildJobChangeCell:SetEnable(b)
|
|
if(not b)then
|
|
if(not self.data.choose)then
|
|
local myGuildMemberData = GuildProxy.Instance:GetMyGuildMemberData()
|
|
if(self.data.id == GuildJobType.Chairman)then
|
|
b = GuildProxy.Instance:CanJobDoAuthority(myGuildMemberData.job, GuildAuthorityMap.ChangePresident);
|
|
else
|
|
b = myGuildMemberData.job < self.data.id;
|
|
end
|
|
else
|
|
b = true;
|
|
end
|
|
end
|
|
if(not b)then
|
|
self:SetTextureGrey(self.gameObject);
|
|
local boxCollider = self.gameObject:GetComponentInChildren(BoxCollider);
|
|
boxCollider.enabled = false;
|
|
else
|
|
local boxCollider = self.gameObject:GetComponentInChildren(BoxCollider);
|
|
boxCollider.enabled = true;
|
|
end
|
|
end
|
|
|
|
function GuildJobChangeCell:SetChoose(choose)
|
|
choose = choose or self.data.choose;
|
|
self.bg.spriteName = choose and GuildJobChangeCell.ChooseSprite or GuildJobChangeCell.UnChooseSprite;
|
|
self.label.effectColor = choose and GuildJobChangeCell.ChooseLabelColor or GuildJobChangeCell.UnChooseLabelColor;
|
|
end |