|
|
- -- <*
- -- @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
|