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

195 行
6.1 KiB

  1. --新功能开放
  2. SkillFuncOpenView = SkillFuncOpenView or BaseClass(FuncOpenView)
  3. function SkillFuncOpenView:__init()
  4. self.base_file = "func"
  5. self.layout_file = "FuncOpenView"
  6. self.layer_name = "Activity"
  7. self.destroy_imm = true
  8. self.model = FuncOpenModel:getInstance()
  9. self.curr_time = 0
  10. self.anim_step_table = {} --用来记录步骤执行了没有
  11. self.open_image_list = {} --针对技能
  12. self.oepn_vo_list = {}
  13. self.total_time = 5
  14. self.time_diff = self.total_time
  15. self.has_skill_type = false
  16. self.skill_type_finish = true
  17. self.load_callback = function ()
  18. self:LoadSuccess()
  19. self:InitEvent()
  20. end
  21. self.open_callback = function ()
  22. GlobalEventSystem:Fire(EventName.STOP_AUTO_DO_TASK)
  23. GlobalEventSystem:Fire(EventName.STOPAUTOFIGHT)
  24. self:LayoutUI()
  25. end
  26. self.close_callback = function ()
  27. GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK)
  28. --local helpVo = GuideModel:getInstance():GetCurHelpVo()
  29. --GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo)
  30. local function next_func()
  31. self.curr_time = 0
  32. self.anim_step_table = {} --用来记录步骤执行了没有
  33. self.open_image_list = {} --针对技能
  34. self.oepn_vo_list = {}
  35. self.total_time = 5
  36. self.time_diff = self.total_time
  37. self.has_skill_type = false
  38. self.skill_type_finish = true
  39. GlobalEventSystem:Fire(EventName.OPEN_SKILL_FUNC_OPEN_VIEW, self.voList, self.index + 1)
  40. end
  41. GlobalTimerQuest:AddDelayQuest(next_func, 0.1)
  42. end
  43. self.destroy_callback = function ()
  44. self:Clear()
  45. end
  46. end
  47. function SkillFuncOpenView:Open(voList, index)
  48. self.voList = voList
  49. self.index = index or 1
  50. if self.voList[self.index] then
  51. BaseView.Open(self)
  52. end
  53. end
  54. function SkillFuncOpenView:InitEvent()
  55. end
  56. function SkillFuncOpenView:PlaySound()
  57. local helpVo = self.voList[self.index]
  58. if helpVo and helpVo.help_type == HelpType.NEW_FUNC_OPEN then
  59. if helpVo.sound and Trim(helpVo.sound) ~= "" then
  60. if lua_soundM then
  61. lua_soundM:PlayEffect(self, Trim(helpVo.sound),false,LuaSoundManager.SOUND_TYPE.FUNC)
  62. end
  63. end
  64. end
  65. end
  66. function SkillFuncOpenView:LayoutUI()
  67. local image_root
  68. local image_icon
  69. local vo = self.voList[self.index]
  70. image_root = UiFactory.createChild(self.skill_canvas_con.transform,UIType.ImageExtend)
  71. image_icon = image_root:GetComponent("ImageExtend")
  72. self.has_skill_type = true
  73. self.skill_type_finish = false
  74. --self.skill_desc,self.skill_name = SkillManager.Instance:GetSkillFromConfigByIdAndLevel(vo.id,1)
  75. --self.skill_name_txt.text = self.skill_name or ""
  76. table.insert(self.oepn_vo_list,vo)
  77. table.insert(self.open_image_list,image_icon)
  78. image_root.transform.localPosition = Vector3(0,39.5,0)
  79. image_root.transform.localScale= Vector3(0,0,0)
  80. self:SetFuncIconImage(image_icon,vo)
  81. self.skill_con:SetActive(true)
  82. self.func_con:SetActive(false)
  83. self:AddUIEffect("ui_huodexinjineng", self.skill_text_image, self.layer_name, nil, nil, false,-1,nil,nil)
  84. self:PlaySound()
  85. Runner:getInstance():AddRunObj(self, 3)
  86. end
  87. --主界面主功能开放
  88. function SkillFuncOpenView:SetFuncIconImage(icon_image,vo)
  89. lua_resM:setOutsideImageSprite(self,icon_image,GameResPath.GetSkillIcon(vo.id),true)
  90. end
  91. --主界面技能开放
  92. function FuncOpenView:SkillFuncRunner(now_time, elapse_time)
  93. if self.curr_time >= 0 and not self.anim_step_table["skill_step_0"] then
  94. self.anim_step_table["skill_step_0"] = true
  95. TweenLite.to(self,self.skill_border_image,TweenLite.UiAnimationType.ALPHA,1,0.2)
  96. --TweenLite.to(self,self.skill_name_txt, TweenLite.UiAnimationType.ALPHA_OLD, 1, 0.2)
  97. if self.skill_show_effect == nil then
  98. self.skill_show_effect = true
  99. local function load_end_func( )
  100. self:SetGameObjectDepth(self.skill_canvas_con.gameObject)
  101. end
  102. self:AddUIEffect("huodeiwupin", self.skill_effect_con, self.layer_name, nil, nil, false,nil,nil,nil,load_end_func)
  103. end
  104. end
  105. if self.curr_time >= 0.2 and not self.anim_step_table["skill_step_1"] then
  106. self.anim_step_table["skill_step_1"] = true
  107. for k = 1,#self.open_image_list do
  108. self.open_image_list[k].transform.localScale = Vector3(0,0,0)
  109. self.open_image_list[k].gameObject:SetActive(true)
  110. TweenLite.to(self, self.open_image_list[k].transform, TweenLite.UiAnimationType.SCALE, Vector3(1,1,1), 0.1)
  111. end
  112. end
  113. if self.curr_time >= 0.8 + self.total_time and not self.anim_step_table["skill_step_2"] then
  114. self.anim_step_table["skill_step_2"] = true
  115. TweenLite.to(self,self.mask_image,TweenLite.UiAnimationType.ALPHA,0,1)
  116. TweenLite.to(self,self.skill_border_image,TweenLite.UiAnimationType.ALPHA,0,0.2)
  117. --TweenLite.to(self,self.skill_name_txt, TweenLite.UiAnimationType.ALPHA_OLD,0, 0.2)
  118. self:ClearUIEffect(self.skill_effect_con)
  119. self:ClearUIEffect(self.skill_text_image)
  120. self.skill_type_finish = true
  121. end
  122. --[[if self.curr_time >= 1.1 + self.total_time and not self.anim_step_table["skill_step_3"] then
  123. self.anim_step_table["skill_step_3"] = true
  124. for k = 1,#self.open_image_list do
  125. TweenLite.to(self, self.open_image_list[k].transform, TweenLite.UiAnimationType.POS, self.oepn_vo_list[k].pos,0.4)
  126. TweenLite.to(self, self.open_image_list[k].transform, TweenLite.UiAnimationType.SCALE, Vector3(1,1,1), 0.4)
  127. end
  128. end
  129. if self.curr_time >= 1.5 + self.total_time and not self.anim_step_table["skill_step_4"] then
  130. self.anim_step_table["skill_step_4"] = true
  131. for k = 1,#self.open_image_list do
  132. self:AddUIEffect("ui_effect_tubiao_shanguang", self.open_image_list[k].transform, "Activity", nil, nil, false)
  133. end
  134. end
  135. if self.curr_time >= 2.3 + self.total_time and not self.anim_step_table["skill_step_5"] then
  136. GlobalEventSystem:Fire(EventName.SHOW_FUNC_OPEN_ICON,self.voList)
  137. self.anim_step_table["skill_step_5"] = true
  138. self.skill_type_finish = true
  139. end--]]
  140. end
  141. function SkillFuncOpenView:Update(now_time, elapse_time)
  142. self.curr_time = self.curr_time + elapse_time
  143. if self.has_func_type then
  144. self:MainFuncRunner(now_time,elapse_time)
  145. end
  146. if self.has_sub_type then
  147. self:SubFuncRunner(now_time,elapse_time)
  148. end
  149. if self.has_skill_type then
  150. self:SkillFuncRunner(now_time,elapse_time)
  151. end
  152. if self.curr_time >= 0.8 and not self.anim_step_table["show_sec"] then
  153. self.anim_step_table["show_sec"] = true
  154. self:ShowSecTimer()
  155. end
  156. if self.skill_type_finish then
  157. self:Close()
  158. end
  159. end