--任务界面
|
|
TaskNewBaseView = TaskNewBaseView or BaseClass(BaseView)
|
|
local TaskNewBaseView = TaskNewBaseView
|
|
-----------------------扩展模块需要修改的地方--------------------------
|
|
TaskNewBaseView.Index2View = {
|
|
[1] = {index = 1,view = TaskSubMainView},
|
|
[2] = {index = 2,view = TaskSubExtensionView},
|
|
[3] = {index = 3,view = TaskSubCommonView},
|
|
}
|
|
|
|
|
|
----------------------------------------------------------------
|
|
|
|
function TaskNewBaseView:__init()
|
|
self.base_file = "task"
|
|
self.layout_file = "TaskNewBaseView"
|
|
self.layer_name = "UI"
|
|
self.append_to_ctl_queue = true
|
|
self.use_background = true
|
|
self.change_scene_close = true
|
|
self.close_fog = true
|
|
self.model = TaskModel:getInstance()
|
|
self.show_tabs = {}
|
|
self.tab_name_list = {}
|
|
self.contaner_list = {}
|
|
|
|
local playerLv = RoleManager:getInstance():GetMainRoleVo().level
|
|
for i,v in ipairs(Config.ConfigTaskEffect.Tabbuttons) do
|
|
if v.open_lv <= playerLv then
|
|
if i == 2 and not ClientConfig.alpha_mode then
|
|
table.insert(self.show_tabs, TaskNewBaseView.Index2View[i])
|
|
table.insert(self.tab_name_list,v)
|
|
-- elseif i == 5 and self.model:HasTurnLine() then
|
|
-- table.insert(self.show_tabs, TaskNewBaseView.Index2View[i])
|
|
-- table.insert(self.tab_name_list,v)
|
|
else
|
|
table.insert(self.show_tabs, TaskNewBaseView.Index2View[i])
|
|
table.insert(self.tab_name_list,v)
|
|
end
|
|
end
|
|
end
|
|
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:InitEvent()
|
|
end
|
|
self.open_callback = function ()
|
|
self:InitView()
|
|
end
|
|
self.close_callback = function( )
|
|
|
|
end
|
|
self.destroy_callback = function ()
|
|
self:Remove()
|
|
end
|
|
end
|
|
-- task_id 针对第二个标签
|
|
--parent_index,sub_index 针对第三个标签
|
|
function TaskNewBaseView:Open(index,task_id,parent_index,sub_index)
|
|
self.open_index = self:GetRealTabIndex(index or 1)
|
|
self.task_id = task_id
|
|
self.parent_index = parent_index
|
|
self.sub_index = sub_index
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function TaskNewBaseView:InitView()
|
|
self:SeletedTabbar(self.open_index)
|
|
end
|
|
|
|
function TaskNewBaseView:LoadSuccess()
|
|
self.sub_conta = self:GetChild("SubElement")
|
|
|
|
local select_callback = function(index)
|
|
self:SeletedTabbar(index)
|
|
end
|
|
|
|
local closeWin_callback = function()
|
|
self:Close()
|
|
end
|
|
self.tabWindowComponent = TabWindowComponent.New(self.transform,"主线任务",self.tab_name_list,1264,632,306,52,
|
|
select_callback,closeWin_callback,Vector3(0,0,0),self.background_wnd,"task_asset")
|
|
end
|
|
|
|
function TaskNewBaseView:InitEvent()
|
|
local close_fun = function ()
|
|
self:Close()
|
|
end
|
|
self.event_id = self.model:Bind(TaskEvent.CLOSE_TASK_VIEW, close_fun)
|
|
end
|
|
|
|
function TaskNewBaseView:Remove()
|
|
|
|
if self.event_id then
|
|
self.model:UnBind(self.event_id)
|
|
self.event_id = nil
|
|
end
|
|
|
|
for i, view in pairs(self.contaner_list) do
|
|
view:DeleteMe()
|
|
end
|
|
self.contaner_list = nil
|
|
|
|
if self.tabWindowComponent then
|
|
self.tabWindowComponent:DeleteMe()
|
|
end
|
|
self.tabWindowComponent = nil
|
|
end
|
|
|
|
function TaskNewBaseView:SeletedTabbar(index)
|
|
|
|
local current_index = self.tabWindowComponent:GetCurrentSelectIndex()
|
|
if current_index == index then
|
|
return
|
|
end
|
|
|
|
local real_index = self:GetRealTabIndex(index)
|
|
if real_index == 4 then
|
|
if RoleManager.Instance.mainRoleInfo.guild_id <= 0 then
|
|
Message.show(string.format("请先加入一个社团"))
|
|
return
|
|
end
|
|
end
|
|
|
|
|
|
self.select_tab = index
|
|
|
|
if self.tabWindowComponent ~= nil then
|
|
self.tabWindowComponent:SetTabBarIndex(self.select_tab)
|
|
self:SwitchBar()
|
|
end
|
|
end
|
|
|
|
function TaskNewBaseView:SwitchBar()
|
|
local index = self.tabWindowComponent:GetCurrentSelectIndex()
|
|
local chile_view = self.contaner_list[index]
|
|
local viewIndex,viewName = self.show_tabs[index].index,self.show_tabs[index].view
|
|
local taskType = self:GetTaskTypeByIndex(viewIndex)
|
|
|
|
local config = Config.ConfigTaskEffect.Tabbuttons[viewIndex]
|
|
if config then
|
|
self.tabWindowComponent:SetTitle(config.name)
|
|
end
|
|
if chile_view == nil then
|
|
local viewModule = viewName
|
|
chile_view = viewModule.New(self.sub_conta)
|
|
self.contaner_list[index] = chile_view
|
|
end
|
|
|
|
chile_view:SetData(taskType,self.task_id,self.parent_index,self.sub_index)
|
|
self.task_id = false
|
|
self.parent_index = false
|
|
self.sub_index = false
|
|
self:PopUpChild(chile_view)
|
|
end
|
|
|
|
function TaskNewBaseView:GetRealTabIndex(index)
|
|
for i,v in ipairs(self.show_tabs) do
|
|
if v.index == index then
|
|
return i
|
|
end
|
|
end
|
|
return 1
|
|
end
|
|
function TaskNewBaseView:GetTaskTypeByIndex( index )
|
|
local task_type
|
|
if index == 1 then
|
|
task_type = TaskType.MAIN_LINE
|
|
elseif index == 2 then
|
|
task_type = TaskType.EXTENSION_LINE
|
|
elseif index == 3 then
|
|
task_type = TaskType.BOUNTY_LINE
|
|
elseif index == 4 then
|
|
task_type = TaskType.GUILD_LINE
|
|
elseif index == 5 then
|
|
task_type = TaskType.TRUN_LINE
|
|
end
|
|
return task_type
|
|
end
|