|
|
- GuildPositionApplyItem = GuildPositionApplyItem or BaseClass(BaseItem)
- local GuildPositionApplyItem = GuildPositionApplyItem
-
- function GuildPositionApplyItem:__init(parent_wnd,prefab_asset,layer_name)
- self.base_file = "guild"
- self.layout_file = "GuildPositionApplyItem"
- self.parent_wnd = parent_wnd
- self.layer_name = layer_name
- self.model = GuildModel:getInstance()
- self.bg_pos_x = {
- [2] = 0,
- [4] = -6,
- [3] = -4,
- }
-
- self:Load()
- end
-
- function GuildPositionApplyItem:Load_callback()
- local nodes = {
- "bg:img",
- "pos_icon:img",
- "apply_scroll:obj", "apply_scroll/Viewport/apply_con",
- "auth_scroll", "auth_scroll/Viewport/auth_con", "auth_scroll/Viewport/auth_con/pos_auth:tmp",
- "cur_num:tmp", "pos_tips:tmp", "line:obj",
- "apply_btn:obj:imgex",
- }
- self:GetChildren(nodes)
-
- self:AddEvents()
- if self.need_refreshData then
- self:UpdateView()
- end
- end
-
- function GuildPositionApplyItem:AddEvents( )
- local function click_event(target)
- if target == self.apply_btn_obj then
- self:OnClickApplyBtn()
- end
- end
- AddClickEvent(self.apply_btn_obj, click_event, LuaSoundManager.SOUND_UI.SWITCH)
- end
-
- function GuildPositionApplyItem:SetData( data, show_line )
- self.data = data
- self.show_line = show_line
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function GuildPositionApplyItem:UpdateView( )
- local position = self.data.pos
- SetAnchoredPositionX(self.bg, self.bg_pos_x[position] or 0)
- local cur_mem_num = self.model:GetMemberNum(position)
- local mem_max_num = self.model:GetPositionNum(position)
- self.cur_num_tmp.text = string.format("人数 <size=22>%s/%s</size>", cur_mem_num, mem_max_num)
- lua_resM:setImageSprite(self, self.bg_img, "guildPosApply_asset", "guild_apply_pos".. position)
- lua_resM:setImageSprite(self, self.pos_icon_img, "guild_asset", "guild_apply_pos_icon".. position .. "_pointfilter", true)
- if cur_mem_num == mem_max_num then
- self.pos_tips_tmp.text = "职位已满,无法申请,可以联系团长或副团长进行职位分配操作"
- if self.apply_scroll_obj.activeSelf then
- self.apply_scroll_obj:SetActive(false)
- end
- else
- self:UpdateApplyList()
- end
- self:UpdatePosAuthData()
- self.line_obj:SetActive(self.show_line)
- end
-
- -- 加载职位权限
- function GuildPositionApplyItem:UpdatePosAuthData( )
- local auth_data = GuildModel.PosApplyDesc[self.data.pos]
- self.auth_item_creator = self.auth_item_creator or self:AddUIComponent(UI.ItemListCreator)
- local info = {
- data_list = auth_data,
- item_con = self.auth_con,
- scroll_view = self.auth_scroll,
- prefab_ab_name = "guild",
- prefab_res_name = "GuildPositionApplyMemItem", -- 改了tmp之后小点不能直接打了,得换成这个节点创建内容了
- item_height = 24,
- create_frequency = 0.01,
- alignment = UnityEngine.TextAnchor.UpperLeft,
- child_names = {"apply_time:tmp", "name:tmp", },
- on_update_item = function(item, i, v)
- item.name_tmp.text = v
- item.apply_time_tmp.text = ""
- end,
- }
- self.auth_item_creator:UpdateItems(info)
- end
-
- -- 创建更新当前职位的申请人信息
- function GuildPositionApplyItem:UpdateApplyList( )
- local apply_list = self.model:GetPositionApplyList(self.data.pos)
- local empty = IsTableEmpty(apply_list)
- if empty then -- 空列表
- if self.apply_scroll_obj.activeSelf then
- self.apply_scroll_obj:SetActive(false)
- end
- self.pos_tips_tmp.text = "当前职位空缺,快申请成为社团干部吧"
- else
- if not self.apply_scroll_obj.activeSelf then
- self.apply_scroll_obj:SetActive(true)
- end
- self.apply_item_creator = self.apply_item_creator or self:AddUIComponent(UI.ItemListCreator)
- local info = {
- data_list = apply_list,
- item_con = self.apply_con,
- scroll_view = self.apply_scroll,
- prefab_ab_name = "guild",
- prefab_res_name = "GuildPositionApplyMemItem",
- item_height = 24,
- create_frequency = 0.01,
- alignment = UnityEngine.TextAnchor.UpperLeft,
- child_names = {"apply_time:tmp", "name:tmp", },
- on_update_item = function(item, i, v)
- item.name_tmp.text = v.name
- item.apply_time_tmp.text = TimeUtil:GetTimeStrByServerTime( v.time )
- end,
- }
- self.apply_item_creator:UpdateItems(info)
- end
- -- 更新申请按钮
- local position_num = self.model:GetMemberNum(self.data.pos)
- local position_total_num = self.model:GetPositionNum(self.data.pos)
- self.apply_btn_imgex.gray = position_num >= position_total_num
- end
-
- -- 申请职位
- function GuildPositionApplyItem:OnClickApplyBtn()
- if self.apply_btn_imgex.gray then
- Message.show("职位人数已满")
- else
- -- 发送职位申请协议
- self.model:Fire(GuildModel.REQUEST_CCMD_EVENT, 40018, self.data.pos)
- end
- end
-
- function GuildPositionApplyItem:__delete( )
-
- end
|