-- <*
|
|
-- @Author: Saber
|
|
-- @Description: 社团职位任命页签节点
|
|
-- *>
|
|
GuildPositionAllotTabItem = GuildPositionAllotTabItem or BaseClass(BaseItem)
|
|
local GuildPositionAllotTabItem = GuildPositionAllotTabItem
|
|
|
|
function GuildPositionAllotTabItem:__init(parent_wnd,prefab_asset,layer_name)
|
|
self.base_file = "guild"
|
|
self.layout_file = "GuildPositionAllotTabItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
self.is_selected = false
|
|
self.model = GuildModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function GuildPositionAllotTabItem:Load_callback()
|
|
local nodes = {
|
|
"bg:obj:img",
|
|
"pos_icon:img",
|
|
"selected:obj",
|
|
"num:tmp",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function GuildPositionAllotTabItem:AddEvents( )
|
|
local function click_event(target)
|
|
if target == self.gameObject then
|
|
if self.callback and self.index then
|
|
self.callback(self.index)
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.gameObject, click_event, LuaSoundManager.SOUND_UI.SWITCH)
|
|
|
|
local function update_tab_data()
|
|
self:UpdateView()
|
|
end
|
|
self:BindEvent(self.model, GuildModel.RefreshMainViewMemberInfoEvt, update_tab_data)
|
|
end
|
|
|
|
function GuildPositionAllotTabItem:SetData( index, data, callback )
|
|
self.index = index
|
|
self.data = data
|
|
self.callback = callback
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function GuildPositionAllotTabItem:UpdateView( )
|
|
local icon_index = self.data.pos
|
|
if icon_index == GuildModel.GuildPosition.Leader then -- 团长和副团公用资源,这边要兼容
|
|
icon_index = GuildModel.GuildPosition.ViceLeader
|
|
end
|
|
lua_resM:setImageSprite(self, self.bg_img, "guild_asset", "guild_posallot_tab"..icon_index.."_pointfilter")
|
|
lua_resM:setImageSprite(self, self.pos_icon_img, "guild_asset", "guild_posallot_pos"..self.data.pos, true)
|
|
local cur_mem_num = self.model:GetMemberNum(self.data.pos)
|
|
local mem_max_num = self.model:GetPositionNum(self.data.pos)
|
|
self.num_tmp.text = string.format("<color=%s>%s</color>/%s", cur_mem_num < mem_max_num and "#2cf86f" or "#ffffff",
|
|
cur_mem_num, mem_max_num)
|
|
self:SetSelected(self.is_selected)
|
|
end
|
|
|
|
function GuildPositionAllotTabItem:SetSelected(bool)
|
|
self.is_selected = bool
|
|
if self.is_loaded then
|
|
if self.selected_obj.activeSelf ~= self.is_selected then
|
|
self.selected_obj:SetActive(self.is_selected)
|
|
end
|
|
end
|
|
end
|
|
|
|
function GuildPositionAllotTabItem:__delete( )
|
|
|
|
end
|