RecursiveAnimationGroup Documentation

recursiveAnimationGroup, recursiveAnimation and recursiveControlPoint are similar to AnimationGroup, Animation and ControlPoint respectively and have the same methods, except:


recursiveAnimationGroup:Refresh()

This method should be called whenever frame resized, moved or frame structure is changed.


recursiveAnimation:Refresh()

This method called automatically, you shouldn't call it.


recursiveAnimation = recursiveAnimationGroup:CreateAnimation(animationType, name, inheritsFrom)

animationType
animation type: "Alpha", "Scale", "Translation", "Rotation" or "Path" (string)
name
optional, global identifier (string)
inheritsFrom
optional, temlate for animation (string)
recursiveAnimation
object similar to Animation


recursiveControlPoint = recursiveAnimation:CreateControlPoint(name, inheritsFrom, order)

Only Path animation has this method.

name
optional, global identifier (string)
inheritsFrom
optional, temlate for controlPoint (string)
order
optional, control point order, I strongly recommend set it here instead of using :SetOrder(), as it can crash client in some cases
recursiveControlPoint
object similar to ControlPoint


recursiveAnimation:SetParent()

recursiveControlPoint:SetParent()

Not implemented.


type = recursiveAnimationGroup:GetObjectType()

type = recursiveAnimation:GetObjectType()

type = recursiveControlPoint:GetObjectType()

type
"RecursiveAnimationGroup", "RecursiveAnimation" or "RecursiveControlPoint" respectively


isObjectType = recursiveAnimationGroup:IsObjectType(type)

isObjectType = recursiveAnimation:IsObjectType(type)

isObjectType = recursiveControlPoint:IsObjectType(type)

type
expected type (string)
isObjectType
true, if type equals "RecursiveAnimationGroup", "RecursiveAnimation" or "RecursiveControlPoint" respectively, false otherwise


recursiveAnimationGroup:SetScript(handler, function, firstOnly)

recursiveAnimation:SetScript(handler, function, firstOnly)

handler
handler type (string)
function
handler function (function)
firstOnly
optional, if this flag set script will be set for root frame only, and will be triggered only once per event, if it's not set script will be set for frame and each his child, by default it's false (boolean)


function = recursiveAnimationGroup:GetScript(handler, firstOnly)

function = recursiveAnimation:GetScript(handler, firstOnly)

handler
handler type (string)
firstOnly
optional, if this flag set method will return handler function of root frame, otherwise it will return handler function of child frame, or, if there aren't any child frames - function of root frame, by default it's false (boolean)
function
handler function


hasScript = recursiveAnimationGroup:HasScript(handler, checkFirstOnly)

hasScript = recursiveAnimation:HasScript(handler, checkFirstOnly)

handler
handler type (string)
checkFirstOnly
optional, if this flag set method will return check handler function of root frame only, otherwise it will check child frame, or, if there aren't child frames it will check root frame, by default it's false (boolean)
hasScript
true if there are handler function, false otherwise


recursiveAnimationGroup:HookScript(handler, function, firstOnly)

recursiveAnimation:HookScript(handler, function, firstOnly)

handler
handler type (string)
function
handler function (function)
firstOnly
optional, if this flag set script will be hooked for root frame only, otherwise it will be hooked for frame and each his child, by default it's false (boolean)