diff --git a/LibAnimation.lua b/LibAnimation.lua index c9a4526..4bf99ab 100644 --- a/LibAnimation.lua +++ b/LibAnimation.lua @@ -40,9 +40,20 @@ local defaultEase = ZO_LinearEase -- @tparam number loopCount (optional) -- @treturn LibAnimation object function LibAnimation:New( control, playbackType, loopCount ) - local self = {} - self:Initialize( control, playbackType, loopCount ) - return self + local result = setmetatable( {}, self ) + local mt = getmetatable( result ) + mt.__index = self + + if ( not playbackType ) then + playbackType = 0 + end + + if ( not loopCount ) then + loopCount = 0 + end + + result:Initialize( control, playbackType, loopCount ) + return result end --- Animation Constructor @@ -50,9 +61,18 @@ end -- @tparam number playbackType (optional) -- @tparam number loopCount (optional) function LibAnimation:Initialize( control, playbackType, loopCount ) - self.control = control - self.timeline = AnimationMgr:CreateTimeline() - self.timeline:SetPlaybackType( playbackType or ANIMATION_PLAYBACK_ONE_SHOT, loopCount or 0 ) + self.control = control + self.timeline = AnimationMgr:CreateTimeline() + self.timeline:SetPlaybackType( playbackType, loopCount ) +end + +--- Allows you to add a callback at a certain point in the timeline +-- @tparam function fn +-- @tparam number delay how long to wait before calling +function LibAnimation:InsertCallback( fn, delay ) + if ( self.timeline ) then + self.timeline:InsertCallback( fn, delay ) + end end --- Stop the animation @@ -163,11 +183,9 @@ end -- @tparam number duration -- @tparam number delay (optional) -- @tparam function fn easing function (optional) -[[function LibAnimation:ScrollTo( x, y, duration, delay, fn ) +--[[function LibAnimation:ScrollTo( x, y, duration, delay, fn ) local anim = self:GetOrCreate( ANIMATION_SCROLL, delay ) anim:SetDuration( duration or 1 ) anim:SetEasingFunction( fn or defaultEase ) -end]] - -setmetatable( LibAnimation, { __call = function( ... ) return LibAnimation:New( ... ) end } ) \ No newline at end of file +end]] \ No newline at end of file diff --git a/LibStub.txt b/LibStub.txt deleted file mode 100644 index c39ae90..0000000 --- a/LibStub.txt +++ /dev/null @@ -1,7 +0,0 @@ -## APIVersion: 100000 -## Title: LibStub -## Notes: Universal Library Stub -## Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, ported to ESO by Seerah -## Version: 1.0.1 - -LibStub\LibStub.lua \ No newline at end of file diff --git a/LibStub/LibStub.lua b/LibStub/LibStub.lua deleted file mode 100644 index 4c509a5..0000000 --- a/LibStub/LibStub.lua +++ /dev/null @@ -1,34 +0,0 @@ --- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info --- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke --- LibStub developed for World of Warcraft by above members of the WowAce community. --- Ported to Elder Scrolls Online by Seerah - -local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 1 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS! -local LibStub = _G[LIBSTUB_MAJOR] - -local strformat = string.format -if not LibStub or LibStub.minor < LIBSTUB_MINOR then - LibStub = LibStub or {libs = {}, minors = {} } - _G[LIBSTUB_MAJOR] = LibStub - LibStub.minor = LIBSTUB_MINOR - - function LibStub:NewLibrary(major, minor) - assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)") - minor = assert(tonumber(zo_strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.") - - local oldminor = self.minors[major] - if oldminor and oldminor >= minor then return nil end - self.minors[major], self.libs[major] = minor, self.libs[major] or {} - return self.libs[major], oldminor - end - - function LibStub:GetLibrary(major, silent) - if not self.libs[major] and not silent then - error(("Cannot find a library instance of %q."):strformat(tostring(major)), 2) - end - return self.libs[major], self.minors[major] - end - - function LibStub:IterateLibraries() return pairs(self.libs) end - setmetatable(LibStub, { __call = LibStub.GetLibrary }) -end