require("game.func.FuncOpenModel")
|
|
require("game.func.NewFuncOpenView")
|
|
require("game.func.NewModelOpenView")
|
|
require("game.func.SkillFuncOpenView")
|
|
FuncOpenController = FuncOpenController or BaseClass(BaseController)
|
|
|
|
function FuncOpenController:__init()
|
|
FuncOpenController.Instance = self
|
|
self.model = FuncOpenModel:getInstance()
|
|
|
|
self:RegisterProtocals()
|
|
self:InitEvent()
|
|
|
|
end
|
|
|
|
function FuncOpenController:RegisterProtocals()
|
|
|
|
end
|
|
|
|
function FuncOpenController:InitEvent()
|
|
-- local function on_scene_finish( )
|
|
-- if self.delay_show_skill then
|
|
-- self.delay_show_skill = false
|
|
-- self:ShowSkill(self.skill_data)
|
|
-- end
|
|
-- end
|
|
-- GlobalEventSystem:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE, on_scene_finish)
|
|
|
|
--打开功能开放界面
|
|
local function onFuncOpenView(key)
|
|
self.model:SetOpenCondition(key)
|
|
local voList = self.model.func_data_list
|
|
if (voList and #voList > 0) then
|
|
local cur_vo = voList[1]
|
|
if cur_vo.help_type == HelpType.NEW_FUNC_OPEN then
|
|
if self.func_open_view == nil then
|
|
self.func_open_view = NewFuncOpenView.New()
|
|
end
|
|
if not self.func_open_view:HasOpen() then
|
|
self.func_open_view:Open(voList)
|
|
end
|
|
GlobalEventSystem:Fire(EventName.OPEN_GUIDE_CLOSE_VIEW)
|
|
elseif cur_vo.help_type == HelpType.TASK_ITEM_SHOW then
|
|
if self.model_open_view == nil then
|
|
self.model_open_view = NewModelOpenView.New()
|
|
end
|
|
if not self.model_open_view:HasOpen() then
|
|
self.model_open_view:Open(voList)
|
|
end
|
|
GlobalEventSystem:Fire(EventName.OPEN_GUIDE_CLOSE_VIEW)
|
|
end
|
|
self.model:ClearOpenCondition()
|
|
self.model:ClearOpenFuncData()
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(EventName.OPEN_FUNC_OPEN_VIEW,onFuncOpenView)
|
|
end
|
|
|
|
--新技能开放接口--[101021测试]
|
|
--开启技能展示必传参数skill_id
|
|
--skill_data.skill_id[技能ID]
|
|
--skill_data.ignore_fly[是否不飞默认不飞]
|
|
--skill_data.show_time[界面展示时间默认5s]
|
|
--skill_data.ignore_auto_task[界面关闭不自动任务]
|
|
--skill_data.skill_level[技能等级,默认为1]
|
|
function FuncOpenController:ShowSkill(skill_data)
|
|
if not skill_data then return end
|
|
self.skill_data = skill_data
|
|
local skill_id = skill_data.skill_id
|
|
local skill_cfg = SkillManager.Instance:getSkillFromConfig(skill_id)
|
|
local skill_level = skill_data.skill_level or 1
|
|
if skill_cfg then
|
|
local desc = ""
|
|
if skill_cfg.lvs and skill_cfg.lvs[skill_level] then
|
|
desc = skill_cfg.lvs[skill_level].desc
|
|
end
|
|
local show_vos = {
|
|
{
|
|
type = 2,
|
|
is_out_res=true,
|
|
outside_res = GameResPath.GetSkillIcon(skill_id),
|
|
saying = desc or (skill_cfg and skill_cfg.name or "获取新技能"),
|
|
ignore_fly = skill_data.ignore_fly == nil and true or skill_data.ignore_fly,
|
|
id=skill_data.id or 0,
|
|
show_time = skill_data.show_time or 5,
|
|
skill_id = skill_id,
|
|
name = skill_cfg.name,
|
|
ignore_auto_task = skill_data.ignore_auto_task,
|
|
},
|
|
}
|
|
self.show_vos = show_vos
|
|
end
|
|
-- if SceneManager:getInstance():IsMainCityorYieldScene() then
|
|
local skill_id = self.show_vos[1] and self.show_vos[1].skill_id
|
|
--其他技能展示获得界面就行
|
|
if self.func_open_view == nil then
|
|
self.func_open_view = NewFuncOpenView.New()
|
|
end
|
|
if not self.func_open_view:HasOpen() then
|
|
self.func_open_view:Open(self.show_vos)
|
|
end
|
|
-- else
|
|
-- if not is_agained then
|
|
-- self.delay_show_skill = true
|
|
-- end
|
|
-- end
|
|
end
|