--新功能开放 SkillFuncOpenView = SkillFuncOpenView or BaseClass(FuncOpenView) function SkillFuncOpenView:__init() self.base_file = "func" self.layout_file = "FuncOpenView" self.layer_name = "Activity" self.destroy_imm = true self.model = FuncOpenModel:getInstance() self.curr_time = 0 self.anim_step_table = {} --用来记录步骤执行了没有 self.open_image_list = {} --针对技能 self.oepn_vo_list = {} self.total_time = 5 self.time_diff = self.total_time self.has_skill_type = false self.skill_type_finish = true self.load_callback = function () self:LoadSuccess() self:InitEvent() end self.open_callback = function () GlobalEventSystem:Fire(EventName.STOP_AUTO_DO_TASK) GlobalEventSystem:Fire(EventName.STOPAUTOFIGHT) self:LayoutUI() end self.close_callback = function () GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK) --local helpVo = GuideModel:getInstance():GetCurHelpVo() --GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo) local function next_func() self.curr_time = 0 self.anim_step_table = {} --用来记录步骤执行了没有 self.open_image_list = {} --针对技能 self.oepn_vo_list = {} self.total_time = 5 self.time_diff = self.total_time self.has_skill_type = false self.skill_type_finish = true GlobalEventSystem:Fire(EventName.OPEN_SKILL_FUNC_OPEN_VIEW, self.voList, self.index + 1) end GlobalTimerQuest:AddDelayQuest(next_func, 0.1) end self.destroy_callback = function () self:Clear() end end function SkillFuncOpenView:Open(voList, index) self.voList = voList self.index = index or 1 if self.voList[self.index] then BaseView.Open(self) end end function SkillFuncOpenView:InitEvent() end function SkillFuncOpenView:PlaySound() local helpVo = self.voList[self.index] if helpVo and helpVo.help_type == HelpType.NEW_FUNC_OPEN then if helpVo.sound and Trim(helpVo.sound) ~= "" then if lua_soundM then lua_soundM:PlayEffect(self, Trim(helpVo.sound),false,LuaSoundManager.SOUND_TYPE.FUNC) end end end end function SkillFuncOpenView:LayoutUI() local image_root local image_icon local vo = self.voList[self.index] image_root = UiFactory.createChild(self.skill_canvas_con.transform,UIType.ImageExtend) image_icon = image_root:GetComponent("ImageExtend") self.has_skill_type = true self.skill_type_finish = false --self.skill_desc,self.skill_name = SkillManager.Instance:GetSkillFromConfigByIdAndLevel(vo.id,1) --self.skill_name_txt.text = self.skill_name or "" table.insert(self.oepn_vo_list,vo) table.insert(self.open_image_list,image_icon) image_root.transform.localPosition = Vector3(0,39.5,0) image_root.transform.localScale= Vector3(0,0,0) self:SetFuncIconImage(image_icon,vo) self.skill_con:SetActive(true) self.func_con:SetActive(false) self:AddUIEffect("ui_huodexinjineng", self.skill_text_image, self.layer_name, nil, nil, false,-1,nil,nil) self:PlaySound() Runner:getInstance():AddRunObj(self, 3) end --主界面主功能开放 function SkillFuncOpenView:SetFuncIconImage(icon_image,vo) lua_resM:setOutsideImageSprite(self,icon_image,GameResPath.GetSkillIcon(vo.id),true) end --主界面技能开放 function FuncOpenView:SkillFuncRunner(now_time, elapse_time) if self.curr_time >= 0 and not self.anim_step_table["skill_step_0"] then self.anim_step_table["skill_step_0"] = true TweenLite.to(self,self.skill_border_image,TweenLite.UiAnimationType.ALPHA,1,0.2) --TweenLite.to(self,self.skill_name_txt, TweenLite.UiAnimationType.ALPHA_OLD, 1, 0.2) if self.skill_show_effect == nil then self.skill_show_effect = true local function load_end_func( ) self:SetGameObjectDepth(self.skill_canvas_con.gameObject) end self:AddUIEffect("huodeiwupin", self.skill_effect_con, self.layer_name, nil, nil, false,nil,nil,nil,load_end_func) end end if self.curr_time >= 0.2 and not self.anim_step_table["skill_step_1"] then self.anim_step_table["skill_step_1"] = true for k = 1,#self.open_image_list do self.open_image_list[k].transform.localScale = Vector3(0,0,0) self.open_image_list[k].gameObject:SetActive(true) TweenLite.to(self, self.open_image_list[k].transform, TweenLite.UiAnimationType.SCALE, Vector3(1,1,1), 0.1) end end if self.curr_time >= 0.8 + self.total_time and not self.anim_step_table["skill_step_2"] then self.anim_step_table["skill_step_2"] = true TweenLite.to(self,self.mask_image,TweenLite.UiAnimationType.ALPHA,0,1) TweenLite.to(self,self.skill_border_image,TweenLite.UiAnimationType.ALPHA,0,0.2) --TweenLite.to(self,self.skill_name_txt, TweenLite.UiAnimationType.ALPHA_OLD,0, 0.2) self:ClearUIEffect(self.skill_effect_con) self:ClearUIEffect(self.skill_text_image) self.skill_type_finish = true end --[[if self.curr_time >= 1.1 + self.total_time and not self.anim_step_table["skill_step_3"] then self.anim_step_table["skill_step_3"] = true for k = 1,#self.open_image_list do TweenLite.to(self, self.open_image_list[k].transform, TweenLite.UiAnimationType.POS, self.oepn_vo_list[k].pos,0.4) TweenLite.to(self, self.open_image_list[k].transform, TweenLite.UiAnimationType.SCALE, Vector3(1,1,1), 0.4) end end if self.curr_time >= 1.5 + self.total_time and not self.anim_step_table["skill_step_4"] then self.anim_step_table["skill_step_4"] = true for k = 1,#self.open_image_list do self:AddUIEffect("ui_effect_tubiao_shanguang", self.open_image_list[k].transform, "Activity", nil, nil, false) end end if self.curr_time >= 2.3 + self.total_time and not self.anim_step_table["skill_step_5"] then GlobalEventSystem:Fire(EventName.SHOW_FUNC_OPEN_ICON,self.voList) self.anim_step_table["skill_step_5"] = true self.skill_type_finish = true end--]] end function SkillFuncOpenView:Update(now_time, elapse_time) self.curr_time = self.curr_time + elapse_time if self.has_func_type then self:MainFuncRunner(now_time,elapse_time) end if self.has_sub_type then self:SubFuncRunner(now_time,elapse_time) end if self.has_skill_type then self:SkillFuncRunner(now_time,elapse_time) end if self.curr_time >= 0.8 and not self.anim_step_table["show_sec"] then self.anim_step_table["show_sec"] = true self:ShowSecTimer() end if self.skill_type_finish then self:Close() end end