源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

97 lines
2.9 KiB

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