78 lines
2.0 KiB
Plaintext
78 lines
2.0 KiB
Plaintext
SceneEmojiCell = reusableClass("SceneEmojiCell");
|
|
|
|
SceneEmojiCell.PoolSize = 50
|
|
|
|
function SceneEmojiCell:Active(b)
|
|
if(not Slua.IsNull(self.gameObject))then
|
|
self.gameObject:SetActive(b);
|
|
end
|
|
end
|
|
|
|
-- data (resID, animationName, endCall, depth, loopCount)
|
|
function SceneEmojiCell:PlayEmoji( animationName, loopCount, endCall, endCallArgs )
|
|
if(Slua.IsNull(self.anim))then
|
|
return;
|
|
end
|
|
|
|
self.anim = self.gameObject:GetComponent(SkeletonAnimation);
|
|
self.anim.AnimationName = animationName;
|
|
self.anim:Reset();
|
|
self.anim.loop = false;
|
|
|
|
loopCount = loopCount or 1;
|
|
|
|
if(not self.playFunc)then
|
|
self.playFunc = function ()
|
|
loopCount = loopCount - 1;
|
|
if(loopCount > 0)then
|
|
self:PlayEmoji( animationName, loopCount, endCall, endCallArgs );
|
|
else
|
|
if nil ~= endCall then
|
|
endCall( endCallArgs );
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
SpineLuaHelper.PlayAnim(self.anim, animationName, self.playFunc);
|
|
end
|
|
|
|
-- override begin
|
|
function SceneEmojiCell:DoConstruct(asArray, args)
|
|
local parent = args[1];
|
|
if(not LuaGameObject.ObjectIsNull(parent))then
|
|
|
|
self.resPath = args[2];
|
|
self.gameObject = Game.AssetManager_UI:CreateSceneUIAsset(self.resPath, parent.transform);
|
|
self.gameObject.transform.localPosition = LuaGeometry.Const_V3_zero;
|
|
self.gameObject.transform.localRotation = LuaGeometry.Const_Qua_identity;
|
|
self.gameObject.transform.localScale = LuaGeometry.Const_V3_one;
|
|
UIUtil.ChangeLayer(self.gameObject, parent.gameObject.layer)
|
|
|
|
self.anim = self.gameObject:GetComponent(SkeletonAnimation);
|
|
|
|
local depth = args[3];
|
|
if(type(depth) == 'number')then
|
|
local uispine = self.gameObject:GetComponent(UISpine);
|
|
if(uispine)then
|
|
uispine.depth = depth;
|
|
end
|
|
end
|
|
|
|
self:PlayEmoji( args[4], args[5], args[6], args[7] );
|
|
end
|
|
end
|
|
|
|
function SceneEmojiCell:DoDeconstruct(asArray)
|
|
if(not LuaGameObject.ObjectIsNull(self.gameObject))then
|
|
Game.GOLuaPoolManager:AddToSceneUIPool(self.resPath, self.gameObject);
|
|
end
|
|
self.playFunc = nil;
|
|
self.gameObject = nil;
|
|
self.anim = nil;
|
|
self.resPath = nil;
|
|
end
|
|
-- override end
|
|
|
|
|