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