2025-06-04 05:02:57 +08:00

95 lines
2.1 KiB
Plaintext

MidAlphaMsg = class("MidAlphaMsg", CoreView)
MidAlphaMsg.ResID = ResourcePathHelper.UICell("MidAlphaMsg")
local pos = LuaVector3();
function MidAlphaMsg:ctor(parent)
self.gameObject = self:CreateObj(parent)
pos:Set(0,135,0);
self.gameObject.transform.localPosition = pos;
self:Init();
end
function MidAlphaMsg:CreateObj(parent)
return Game.AssetManager_UI:CreateAsset(MidAlphaMsg.ResID, parent);
end
function MidAlphaMsg:Init()
self.bg = self.gameObject:GetComponent(UISprite);
self.label = self:FindComponent("Label", UILabel);
end
function MidAlphaMsg:SetData(data)
self.label.text = data;
self:SetDelayDestroy(1, 2, 0.5);
end
function MidAlphaMsg:SetExitCall(exitCall, exitCallParam)
self.exitCall = exitCall;
self.exitCallParam = exitCallParam;
end
function MidAlphaMsg:Exit()
self:CancelTween()
if(not Slua.IsNull(self.gameObject))then
Game.GOLuaPoolManager:AddToSceneUIPool(MidAlphaMsg.ResID, self.gameObject)
end
self.gameObject = nil;
if(self.exitCall)then
self.exitCall(self.exitCallParam);
end
end
-- anim begin
function MidAlphaMsg:SetDelayDestroy(fadeInTime, stayTime, fadeOutTime)
if(self.gameObject)then
self.bg.alpha = 0;
self.fadeInTime = fadeInTime or 0;
self.stayTime = stayTime or 3;
self.fadeOutTime = fadeOutTime or 0;
self:_FadeIn()
end
end
function MidAlphaMsg:CancelTween()
if(self.lt) then
self.lt:cancel()
self.lt = nil
end
end
function MidAlphaMsg:_FadeIn()
self:CancelTween()
if(not Slua.IsNull(self.gameObject)) then
self.lt = LeanTween.value(self.gameObject,MidAlphaMsg._AlphaTo,0,1,self.fadeInTime)
self.lt.onUpdateParam = self
self.lt.onCompleteObject = MidAlphaMsg._FadeOut
self.lt.onCompleteParam = self
end
end
function MidAlphaMsg._AlphaTo(alpha, self)
self.bg.alpha = alpha;
end
function MidAlphaMsg:_FadeOut()
self:CancelTween()
if(not Slua.IsNull(self.gameObject)) then
self.lt = LeanTween.value(self.gameObject,MidAlphaMsg._AlphaTo,1,0,self.fadeOutTime)
self.lt.delay = self.stayTime
self.lt.onUpdateParam = self
self.lt.onCompleteObject = MidAlphaMsg._FadeEnd
self.lt.onCompleteParam = self
end
end
function MidAlphaMsg:_FadeEnd()
self:Exit();
end
-- anim end