源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

106 行
3.3 KiB

  1. require("game.func.FuncOpenModel")
  2. require("game.func.NewFuncOpenView")
  3. require("game.func.NewModelOpenView")
  4. require("game.func.SkillFuncOpenView")
  5. FuncOpenController = FuncOpenController or BaseClass(BaseController)
  6. function FuncOpenController:__init()
  7. FuncOpenController.Instance = self
  8. self.model = FuncOpenModel:getInstance()
  9. self:RegisterProtocals()
  10. self:InitEvent()
  11. end
  12. function FuncOpenController:RegisterProtocals()
  13. end
  14. function FuncOpenController:InitEvent()
  15. -- local function on_scene_finish( )
  16. -- if self.delay_show_skill then
  17. -- self.delay_show_skill = false
  18. -- self:ShowSkill(self.skill_data)
  19. -- end
  20. -- end
  21. -- GlobalEventSystem:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE, on_scene_finish)
  22. --打开功能开放界面
  23. local function onFuncOpenView(key)
  24. self.model:SetOpenCondition(key)
  25. local voList = self.model.func_data_list
  26. if (voList and #voList > 0) then
  27. local cur_vo = voList[1]
  28. if cur_vo.help_type == HelpType.NEW_FUNC_OPEN then
  29. if self.func_open_view == nil then
  30. self.func_open_view = NewFuncOpenView.New()
  31. end
  32. if not self.func_open_view:HasOpen() then
  33. self.func_open_view:Open(voList)
  34. end
  35. GlobalEventSystem:Fire(EventName.OPEN_GUIDE_CLOSE_VIEW)
  36. elseif cur_vo.help_type == HelpType.TASK_ITEM_SHOW then
  37. if self.model_open_view == nil then
  38. self.model_open_view = NewModelOpenView.New()
  39. end
  40. if not self.model_open_view:HasOpen() then
  41. self.model_open_view:Open(voList)
  42. end
  43. GlobalEventSystem:Fire(EventName.OPEN_GUIDE_CLOSE_VIEW)
  44. end
  45. self.model:ClearOpenCondition()
  46. self.model:ClearOpenFuncData()
  47. end
  48. end
  49. GlobalEventSystem:Bind(EventName.OPEN_FUNC_OPEN_VIEW,onFuncOpenView)
  50. end
  51. --新技能开放接口--[101021测试]
  52. --开启技能展示必传参数skill_id
  53. --skill_data.skill_id[技能ID]
  54. --skill_data.ignore_fly[是否不飞默认不飞]
  55. --skill_data.show_time[界面展示时间默认5s]
  56. --skill_data.ignore_auto_task[界面关闭不自动任务]
  57. --skill_data.skill_level[技能等级,默认为1]
  58. function FuncOpenController:ShowSkill(skill_data)
  59. if not skill_data then return end
  60. self.skill_data = skill_data
  61. local skill_id = skill_data.skill_id
  62. local skill_cfg = SkillManager.Instance:getSkillFromConfig(skill_id)
  63. local skill_level = skill_data.skill_level or 1
  64. if skill_cfg then
  65. local desc = ""
  66. if skill_cfg.lvs and skill_cfg.lvs[skill_level] then
  67. desc = skill_cfg.lvs[skill_level].desc
  68. end
  69. local show_vos = {
  70. {
  71. type = 2,
  72. is_out_res=true,
  73. outside_res = GameResPath.GetSkillIcon(skill_id),
  74. saying = desc or (skill_cfg and skill_cfg.name or "获取新技能"),
  75. ignore_fly = skill_data.ignore_fly == nil and true or skill_data.ignore_fly,
  76. id=skill_data.id or 0,
  77. show_time = skill_data.show_time or 5,
  78. skill_id = skill_id,
  79. name = skill_cfg.name,
  80. ignore_auto_task = skill_data.ignore_auto_task,
  81. },
  82. }
  83. self.show_vos = show_vos
  84. end
  85. -- if SceneManager:getInstance():IsMainCityorYieldScene() then
  86. local skill_id = self.show_vos[1] and self.show_vos[1].skill_id
  87. --其他技能展示获得界面就行
  88. if self.func_open_view == nil then
  89. self.func_open_view = NewFuncOpenView.New()
  90. end
  91. if not self.func_open_view:HasOpen() then
  92. self.func_open_view:Open(self.show_vos)
  93. end
  94. -- else
  95. -- if not is_agained then
  96. -- self.delay_show_skill = true
  97. -- end
  98. -- end
  99. end