|
-- <*
|
|
-- @Author: Saber
|
|
-- @Description: 社团职位任命成员节点
|
|
-- *>
|
|
GuildPositionAllotItem = GuildPositionAllotItem or BaseClass(BaseItem)
|
|
local GuildPositionAllotItem = GuildPositionAllotItem
|
|
|
|
function GuildPositionAllotItem:__init(parent_wnd,prefab_asset,layer_name)
|
|
self.base_file = "guild"
|
|
self.layout_file = "GuildPositionAllotItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
|
|
self.model = GuildModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function GuildPositionAllotItem:Load_callback()
|
|
local nodes = {
|
|
"info_con/vip_con", "info_con/sex_flag:img", "info_con/name:tmp",
|
|
"pos_bg:img",
|
|
"power:txt", "active:tmp",
|
|
"apoint_btn:obj", "resign_btn:obj",
|
|
}
|
|
self:GetChildren(nodes)
|
|
-- 加载vip节点
|
|
self.vipItem = RoleVipItem.New(self.vip_con)
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function GuildPositionAllotItem:AddEvents( )
|
|
local function click_event(target)
|
|
if target == self.apoint_btn_obj then -- 任命按钮
|
|
self:OnBtnClick(1)
|
|
elseif target == self.resign_btn_obj then -- 卸任按钮
|
|
self:OnBtnClick(2)
|
|
end
|
|
end
|
|
AddClickEvent(self.apoint_btn_obj, click_event)
|
|
AddClickEvent(self.resign_btn_obj, click_event)
|
|
end
|
|
|
|
function GuildPositionAllotItem:SetData( data, index, tab_pos)
|
|
self.data = data
|
|
self.index = index
|
|
self.tab_pos = tab_pos
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function GuildPositionAllotItem:UpdateView( )
|
|
self.vipItem:SetData(self.data.vip_flag, self.data.sup_vip_type)
|
|
self.name_tmp.text = self.data.name
|
|
lua_resM:setImageSprite(self, self.sex_flag_img, "common_asset", self.data.sex == 1 and "com_boy" or "com_girl", true)
|
|
-- SetAnchoredPositionX(self.name, self.data.vip_flag == 0 and 5 or 46)
|
|
SetAnchoredPositionX(self.name, 46)
|
|
self.name_tmp.text = self.data.name
|
|
-- local sex_pos_x = (self.data.vip_flag == 0 and 10 or 51) + self.name_tmp.preferredWidth
|
|
local sex_pos_x = 51 + self.name_tmp.preferredWidth
|
|
SetAnchoredPositionX(self.sex_flag, sex_pos_x)
|
|
lua_resM:setImageSprite(self, self.pos_bg_img, "guild_asset", "g_pos_icon" .. self.data.position, true)
|
|
self.active_tmp.text = self.data.total_labor
|
|
self.power_txt.text = self.data.power
|
|
-- 会长不能上任和卸任,只能由会长转让
|
|
self.apoint_btn_obj:SetActive(self.data.position ~= self.tab_pos and self.data.position ~= GuildModel.GuildPosition.Leader)
|
|
self.resign_btn_obj:SetActive(self.data.position == self.tab_pos and self.data.position ~= GuildModel.GuildPosition.Leader)
|
|
end
|
|
|
|
function GuildPositionAllotItem:OnBtnClick(type)
|
|
if type == 1 then -- 任命
|
|
local cur_mem_num = self.model:GetMemberNum(self.tab_pos)
|
|
local mem_max_num = self.model:GetPositionNum(self.tab_pos)
|
|
if cur_mem_num < mem_max_num or self.tab_pos == GuildModel.GuildPosition.Leader then -- 团长需要特殊处理,因为团长一直都是满的
|
|
local function ok( ... )
|
|
GuildModel:getInstance():Fire(GuildModel.REQUEST_CCMD_EVENT, 40013, self.data.role_id, self.tab_pos)
|
|
end
|
|
local ask_str = string.format("是否任命 %s 为 %s ?", self.data.name, Trim(Config.Guildpos[self.tab_pos].name))
|
|
Alert.show(ask_str,Alert.Type.Two,ok,nil,"确定","取消")
|
|
else
|
|
Message.show("该职位人数已满")
|
|
end
|
|
elseif type == 2 then -- 卸任
|
|
local function ok( ... )
|
|
GuildModel:getInstance():Fire(GuildModel.REQUEST_CCMD_EVENT, 40013, self.data.role_id, 5)
|
|
end
|
|
local ask_str = string.format("是否卸下 %s 的 %s 职位?", self.data.name, Trim(Config.Guildpos[self.tab_pos].name))
|
|
Alert.show(ask_str,Alert.Type.Two,ok,nil,"确定","取消")
|
|
end
|
|
end
|
|
|
|
function GuildPositionAllotItem:__delete( )
|
|
if self.vipItem then
|
|
self.vipItem:DeleteMe()
|
|
self.vipItem = nil
|
|
end
|
|
end
|