|
|
- --[[
- <*
- @Author: Saber
- @Description: 职位申请界面
- *>
- ]]
- GuildPositionApplyView = GuildPositionApplyView or BaseClass(BaseView)
- local GuildPositionApplyView = GuildPositionApplyView
-
- function GuildPositionApplyView:__init()
- self.base_file = "guild"
- self.layout_file = "GuildPositionApplyView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = true --全屏界面默认使用这个参数
- self.change_scene_close = true --是否切换场景时关闭(弹出界面使用)
-
- self.model = GuildModel:getInstance()
- self.model:Fire(GuildModel.REQUEST_CCMD_EVENT, 40023) -- 请求职位情况
- self.apply_item_list = {} -- 可申请职位item节点
- self.target_pos = 0 -- 默认没选中节点
- -- self.can_apply_agency = false -- 是否可申请代理社长
- -- 界面中可申请的职位
- self.show_positions = {
- [1] = {pos = GuildModel.GuildPosition.ViceLeader},
- [2] = {pos = GuildModel.GuildPosition.Teasure},
- [3] = {pos = GuildModel.GuildPosition.Elite}
- }
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- end
- self.open_callback = function ( )
- self:UpdateView()
- end
- self.destroy_callback = function ( )
- self:DestroySuccess()
- end
- end
-
- function GuildPositionApplyView:Open( )
- --self.data = data
- BaseView.Open(self)
- end
-
- function GuildPositionApplyView:LoadSuccess()
- local nodes = {
- "content",
- "content/apply_con",
- }
- self:GetChildren(nodes)
- local function close_callback()
- self:Close()
- end
- self.tabWindowComponent = UITabWindow.New(self.transform, {}, nil, close_callback, self.background_wnd, self.content, UITabWindow.SizeSmallNoTab, nil, nil, false)
- self.tabWindowComponent:SetTitleText("职位申请")
- self.tabWindowComponent:SetBackgroundRes("default_bg_6")
- end
-
- function GuildPositionApplyView:AddEvent()
- local function refresh_pos_num()
- self:UpdateView()
- end
- self:BindEvent(self.model, GuildModel.RefreshPostNumEvt, refresh_pos_num)
- end
-
- function GuildPositionApplyView:UpdateView()
- self:UpdateApplyPosItem()
- end
-
- -- 创建可申请职位节点
- function GuildPositionApplyView:UpdateApplyPosItem()
- local item
- for k, v in ipairs(self.show_positions) do
- item = self.apply_item_list[k]
- if not item then
- item = GuildPositionApplyItem.New(self.apply_con)
- self.apply_item_list[k] = item
- end
- item:SetAnchoredPosition((k-1) * 311, 0)
- item:SetData(v, k < #self.show_positions)
- end
- end
-
- function GuildPositionApplyView:DestroySuccess( )
- for k, v in pairs(self.apply_item_list) do
- v:DeleteMe()
- v = nil
- end
- self.apply_item_list = nil
-
- if self.tabWindowComponent then
- self.tabWindowComponent:DeleteMe()
- self.tabWindowComponent = nil
- end
- end
|