|
--新功能开放
|
|
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
|