miduo_client/Assets/ManagedResources/~Lua/Modules/Message/SwitchPanel.lua

103 lines
3.4 KiB
Lua

require("Base/BasePanel")
SwitchPanel = Inherit(BasePanel)
local this = SwitchPanel
--初始化组件(用于子类重写)
function this:InitComponent()
this.spLoader = SpriteLoader.New()
this.CircleMaskMat = self.gameObject:GetComponent("Image").material
this.CircleMaskMat:SetFloat("_ScaleX", Screen.width / Screen.height)
end
--绑定事件(用于子类重写)
function this:BindEvent()
end
--添加事件监听(用于子类重写)
function this:AddListener()
end
--移除事件监听(用于子类重写)
function this:RemoveListener()
end
function this:OnShow()
end
--界面打开时调用(用于子类重写)
function this:OnOpen(...)
end
function this.OpenPanel(id, func,data)
-- local args = {...}
UIManager.OpenPanel(UIName.SwitchPanel)
DoTween.To(DG.Tweening.Core.DOGetter_float( function () return 6 end),
DG.Tweening.Core.DOSetter_float(function (progress)
this.CircleMaskMat:SetFloat("_R", progress)
end), 0, 1):SetEase(Ease.OutQuad):OnComplete(function ()
-- UIManager.OpenPanel(id, unpack(args, table.maxn(args)))
if id then
UIManager.OpenPanel(id,data)
end
UIManager.OpenPanel(UIName.SwitchPanel)
if func then func() end
DoTween.To(DG.Tweening.Core.DOGetter_float( function () return 0 end),
DG.Tweening.Core.DOSetter_float(function (progress)
this.CircleMaskMat:SetFloat("_R", progress)
end), 6, 1):SetEase(Ease.InQuad):OnComplete(function ()
UIManager.ClosePanel(UIName.SwitchPanel)
end)
end)
end
-- 播放转场效果,不切换场景
function this.PlayTransEffect(func)
UIManager.OpenPanel(UIName.SwitchPanel)
DoTween.To(DG.Tweening.Core.DOGetter_float( function () return 6 end),
DG.Tweening.Core.DOSetter_float(function (progress)
this.CircleMaskMat:SetFloat("_R", progress)
end), 0, 2):SetEase(Ease.OutQuad):OnComplete(function ()
if func then
func()
end
DoTween.To(DG.Tweening.Core.DOGetter_float( function () return 0 end),
DG.Tweening.Core.DOSetter_float(function (progress)
this.CircleMaskMat:SetFloat("_R", progress)
end), 6, 1):SetEase(Ease.InQuad):OnComplete(function ()
UIManager.ClosePanel(UIName.SwitchPanel)
end)
end)
end
function this.ClosePanel(id, func)
UIManager.OpenPanel(UIName.SwitchPanel)
DoTween.To(DG.Tweening.Core.DOGetter_float( function () return 6 end),
DG.Tweening.Core.DOSetter_float(function (progress)
this.CircleMaskMat:SetFloat("_R", progress)
end), 0, 1):SetEase(Ease.OutQuad):OnComplete(function ()
UIManager.ClosePanel(id)
if func then func() end
UIManager.OpenPanel(UIName.SwitchPanel)
DoTween.To(DG.Tweening.Core.DOGetter_float( function () return 0 end),
DG.Tweening.Core.DOSetter_float(function (progress)
this.CircleMaskMat:SetFloat("_R", progress)
end), 6, 1):SetEase(Ease.InQuad):OnComplete(function ()
UIManager.ClosePanel(UIName.SwitchPanel)
end)
end)
end
--界面关闭时调用(用于子类重写)
function this:OnClose()
end
--界面销毁时调用(用于子类重写)
function this:OnDestroy()
this.spLoader:Destroy()
end
return SwitchPanel