源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

195 regels
6.1 KiB

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