Skip to main content

AnimationPlayer

Plays an Animation which updates the current AnimationTimeData

Types

BoundAnimationPlayerInfo

interface BoundAnimationPlayerInfo {
animationPlayerAnimationPlayer
offsetnumber
}

AnimationUpdateData

interface AnimationUpdateData {
currentTimenumber
previousTimenumber
updatedTimenumber
wasCurrentTimeSetboolean
hasStateChangedboolean
hasReachedAnimationLengthboolean
hasStoppedAtAnimationEndboolean
wasAnimationChangedboolean
}

Data when AnimationPlayer updates.

  • Extends TimeUpdateData

Properties

maid

AnimationPlayer.maid: Maid

timeUpdater

AnimationPlayer.timeUpdater: TimeUpdater

currentModelTime

AnimationPlayer.currentModelTime: number

currentData

AnimationPlayer.currentData: AnimationData?

onPlaying

Signal
AnimationPlayer.onPlaying: Signal

onPaused

Signal
AnimationPlayer.onPaused: Signal

onStopped

Signal
AnimationPlayer.onStopped: Signal

onStateChanged

Signal
AnimationPlayer.onStateChanged: Signal

onAnimationLengthReached

Signal
AnimationPlayer.onAnimationLengthReached: Signal

onLooped

Signal
AnimationPlayer.onLooped: Signal

onAnimationChanged

Signal
AnimationPlayer.onAnimationChanged: Signal

Functions

new

Constructor
AnimationPlayer.new(animTimeUpdaterTimeUpdater) → ()

Constructor

Destroy

Deconstructor
AnimationPlayer:Destroy() → ()

Deconstructor

update

AnimationPlayer:update(
steppednumber--

Delta time between last update

) → AnimationUpdateData

Updates the AnimationPlayer

getCurrentTime

AnimationPlayer:getCurrentTime() → number

Returns the current time

getCurrentModelTime

AnimationPlayer:getCurrentModelTime() → number

Returns the current model time

getCurrentState

AnimationPlayer:getCurrentState() → number

Returns the current state

getCurrentData

AnimationPlayer:getCurrentData() → AnimationTimeData

Returns the current data

getTrigger

AnimationPlayer:getTrigger(triggerNamestring) → Signal

Returns a signal Signal<(position: number, positionOffset: number)>

isLooping

AnimationPlayer:isLooping() → boolean

Returns true if animation will loop

getIsLooping

AnimationPlayer:getIsLooping() → boolean

Returns true if animation will loop

getTimeScale

AnimationPlayer:getTimeScale() → number

Returns the current time scale

getUpdateDirection

AnimationPlayer:getUpdateDirection() → boolean

Returns the current update direction

isActive

AnimationPlayer:isActive() → boolean

Returns true if currentState will update time

isInactive

AnimationPlayer:isInactive() → boolean

Returns true if currentState will NOT update time

isPlaying

AnimationPlayer:isPlaying() → boolean

Returns true if currentState is Playing

isPaused

AnimationPlayer:isPaused() → boolean

Returns true if currentState is Paused

isStopped

AnimationPlayer:isStopped() → boolean

Returns true if currentState is Stopped

setIsLooped

AnimationPlayer:setIsLooped(valueboolean) → ()

Sets whether the animation will restart from the beginning when it reaches the end

setTimeScale

AnimationPlayer:setTimeScale(valueboolean) → ()

Sets how fast time will move

setUpdateDirection

AnimationPlayer:setUpdateDirection(valueboolean) → ()

Sets which direction time moves: forwards (true) or backwards (false).

setState

AnimationPlayer:setState(stateTimeUpdater.AnimationState) → ()

Sets the current state using a AnimationState

setAnimation

AnimationPlayer:setAnimation(
newAnimationAnimation,
currentTimeboolean | number | nil--

defaults to false

) → ()

Sets the current animation. Does not check of if the current animation matches the new animation currentTime can be a boolean or a number. if currentTime is a number, sets currentTime to that number if currentTime is false, resets currentTime to 0

setCurrentTime

AnimationPlayer:setCurrentTime(
newCurrentTimenumber,--

new time

keepStateboolean?--

will prevent state from changing on currentTimeSet. Prevents stopped -> paused behavior

) → ()

Sets the current time

restart

AnimationPlayer:restart() → ()

Restarts the AnimationPlayer Will set the current time to 0.0 If is currently not playing, will also change state to Playing

play

AnimationPlayer:play() → ()

Starts the AnimationPlayer and plays the current animation

pause

AnimationPlayer:pause() → ()

Pauses the AnimationPlayer

stop

AnimationPlayer:stop() → ()

Stops the AnimationPlayer Next time :play() is called, the animation will start at 0.0 (only when state changes from Stopped to Playing)

playWithEasing

AnimationPlayer:playWithEasing(tweenDataTimeUpdaterTweenData) → ()

Tweens using the given state, then transitions to a Playing state

pauseWithEasing

AnimationPlayer:pauseWithEasing(tweenDataTimeUpdaterTweenData) → ()

Tweens using the given state, then transitions to a Paused state

stopWithEasing

AnimationPlayer:stopWithEasing(tweenDataTimeUpdaterTweenData) → ()

Tweens using the given state, then transitions to a Stopped state

bindToAnimationPlayer

AnimationPlayer:bindToAnimationPlayer(
parentAnimPlayerAnimationPlayer,--

AnimationPlayer to bind to

offsetnumber?--

Optional time offset

) → ()

Binds this AnimationPlayer's update to another AnimationPlayer. Will respond to state changes as well. If you just want to respond to time changes, use :bindToAnimationPlayerTime()

bindToAnimationPlayerTime

AnimationPlayer:bindToAnimationPlayerTime(
parentAnimPlayerAnimationPlayer,--

AnimationPlayer to bind to

offsetnumber?--

Optional time offset

) → ()

Binds this AnimationPlayer's update to another AnimationPlayer, but only to it's current time If you would also want state changes from the other AnimationPlayer to affect this, use :bindToAnimationPlayer()

unbindFromAnimationPlayer

AnimationPlayer:unbindFromAnimationPlayer() → ()

Unbinds the current bound AnimationPlayer

Show raw api
{
    "functions": [
        {
            "name": "new",
            "desc": "Constructor",
            "params": [
                {
                    "name": "animTimeUpdater",
                    "desc": "",
                    "lua_type": "TimeUpdater"
                }
            ],
            "returns": [],
            "function_type": "static",
            "tags": [
                "Constructor"
            ],
            "source": {
                "line": 86,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "Destroy",
            "desc": "Deconstructor",
            "params": [],
            "returns": [],
            "function_type": "method",
            "tags": [
                "Deconstructor"
            ],
            "source": {
                "line": 141,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "update",
            "desc": "Updates the AnimationPlayer",
            "params": [
                {
                    "name": "stepped",
                    "desc": "Delta time between last update",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "AnimationUpdateData"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 180,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "_updateCurrentAnimation",
            "desc": "Updates the current animation and returns the time state",
            "params": [
                {
                    "name": "stepped",
                    "desc": "Delta time between last update",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "TimeUpdateData"
                }
            ],
            "function_type": "method",
            "private": true,
            "source": {
                "line": 195,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "_updateAnimationChanged",
            "desc": "Resets .wasAnimationChanged flag and returns it's current value pre-reset",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "private": true,
            "source": {
                "line": 240,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "_updateTime",
            "desc": "Updates the TimeUpdater and returns it's current state",
            "params": [
                {
                    "name": "stepped",
                    "desc": "",
                    "lua_type": "number"
                },
                {
                    "name": "currentAnimation",
                    "desc": "",
                    "lua_type": "Animation"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "TimeState"
                }
            ],
            "function_type": "method",
            "private": true,
            "source": {
                "line": 251,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "_updateAnimation",
            "desc": "Gets the current animationData. Sets .currentData",
            "params": [
                {
                    "name": "currentAnimation",
                    "desc": "",
                    "lua_type": "Animation"
                },
                {
                    "name": "currentTime",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "AnimationTimeData?"
                }
            ],
            "function_type": "method",
            "private": true,
            "source": {
                "line": 262,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "_fireTriggers",
            "desc": "Fires any triggers passed between updates",
            "params": [
                {
                    "name": "currentAnimation",
                    "desc": "",
                    "lua_type": "Animation"
                },
                {
                    "name": "previousTime",
                    "desc": "",
                    "lua_type": "number"
                },
                {
                    "name": "currentTime",
                    "desc": "",
                    "lua_type": "number"
                },
                {
                    "name": "updateDirection",
                    "desc": "",
                    "lua_type": "boolean"
                },
                {
                    "name": "includePreviousTime",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [],
            "function_type": "method",
            "private": true,
            "source": {
                "line": 310,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "_fireAnimationChanged",
            "desc": "Fires the onAnimationChanged signal if wasAnimationChanged is true",
            "params": [
                {
                    "name": "wasAnimationChanged",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [],
            "function_type": "method",
            "private": true,
            "source": {
                "line": 335,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "_fireStateChanged",
            "desc": "Fires onStateChanged signals",
            "params": [
                {
                    "name": "hasStateChanged",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [],
            "function_type": "method",
            "private": true,
            "source": {
                "line": 344,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "_fireHasLooped",
            "desc": "Fires onLooped signal if hasLooped is true",
            "params": [
                {
                    "name": "hasLooped",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [],
            "function_type": "method",
            "private": true,
            "source": {
                "line": 363,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "_fireReachedAnimationLength",
            "desc": "Fires the onAnimationLengthReached signal if reachedAnimationLengthType is not None",
            "params": [
                {
                    "name": "reachedAnimationLengthType",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [],
            "function_type": "method",
            "private": true,
            "source": {
                "line": 372,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "getCurrentTime",
            "desc": "Returns the current time",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 384,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "getCurrentModelTime",
            "desc": "Returns the current model time",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 390,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "getCurrentState",
            "desc": "Returns the current state",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 396,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "getCurrentData",
            "desc": "Returns the current data",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "AnimationTimeData"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 402,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "getTrigger",
            "desc": "Returns a signal\nSignal<(position: number, positionOffset: number)>",
            "params": [
                {
                    "name": "triggerName",
                    "desc": "",
                    "lua_type": "string"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Signal"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 410,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "isLooping",
            "desc": "Returns true if animation will loop",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 425,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "getIsLooping",
            "desc": "Returns true if animation will loop",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 431,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "getTimeScale",
            "desc": "Returns the current time scale",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 437,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "getUpdateDirection",
            "desc": "Returns the current update direction",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 443,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "isActive",
            "desc": "Returns true if `currentState` will update time",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 449,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "isInactive",
            "desc": "Returns true if `currentState` will NOT update time",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 455,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "isPlaying",
            "desc": "Returns true if currentState is Playing",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 461,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "isPaused",
            "desc": "Returns true if currentState is Paused",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 467,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "isStopped",
            "desc": "Returns true if currentState is Stopped",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 473,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "setIsLooped",
            "desc": "Sets whether the animation will restart from the beginning when it reaches the end",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 479,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "setTimeScale",
            "desc": "Sets how fast time will move",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 487,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "setUpdateDirection",
            "desc": "Sets which direction time moves: forwards (true) or backwards (false).",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 495,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "setState",
            "desc": "Sets the current state using a AnimationState",
            "params": [
                {
                    "name": "state",
                    "desc": "",
                    "lua_type": "TimeUpdater.AnimationState"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 503,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "setAnimation",
            "desc": "Sets the current animation.\nDoes not check of if the current animation matches the new animation\ncurrentTime can be a boolean or a number.\nif currentTime is a number, sets currentTime to that number\nif currentTime is false, resets currentTime to 0",
            "params": [
                {
                    "name": "newAnimation",
                    "desc": "",
                    "lua_type": "Animation"
                },
                {
                    "name": "currentTime",
                    "desc": "defaults to `false`",
                    "lua_type": "boolean | number | nil"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 514,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "setCurrentTime",
            "desc": "Sets the current time",
            "params": [
                {
                    "name": "newCurrentTime",
                    "desc": "new time",
                    "lua_type": "number"
                },
                {
                    "name": "keepState",
                    "desc": "will prevent state from changing on currentTimeSet. Prevents stopped -> paused behavior",
                    "lua_type": "boolean?"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 538,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "restart",
            "desc": "Restarts the AnimationPlayer\nWill set the current time to 0.0\nIf is currently not playing, will also change state to Playing",
            "params": [],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 547,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "play",
            "desc": "Starts the AnimationPlayer and plays the current animation",
            "params": [],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 552,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "pause",
            "desc": "Pauses the AnimationPlayer",
            "params": [],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 557,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "stop",
            "desc": "Stops the AnimationPlayer\nNext time :play() is called, the animation will start at 0.0\n(only when state changes from Stopped to Playing)",
            "params": [],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 564,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "playWithEasing",
            "desc": "Tweens using the given state, then transitions to a Playing state",
            "params": [
                {
                    "name": "tweenData",
                    "desc": "",
                    "lua_type": "TimeUpdaterTweenData"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 570,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "pauseWithEasing",
            "desc": "Tweens using the given state, then transitions to a Paused state",
            "params": [
                {
                    "name": "tweenData",
                    "desc": "",
                    "lua_type": "TimeUpdaterTweenData"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 576,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "stopWithEasing",
            "desc": "Tweens using the given state, then transitions to a Stopped state",
            "params": [
                {
                    "name": "tweenData",
                    "desc": "",
                    "lua_type": "TimeUpdaterTweenData"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 582,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "bindToAnimationPlayer",
            "desc": "Binds this AnimationPlayer's update to another AnimationPlayer. Will respond to state changes as well.\nIf you just want to respond to time changes, use `:bindToAnimationPlayerTime()`",
            "params": [
                {
                    "name": "parentAnimPlayer",
                    "desc": "AnimationPlayer to bind to",
                    "lua_type": "AnimationPlayer"
                },
                {
                    "name": "offset",
                    "desc": "Optional time offset",
                    "lua_type": "number?"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 590,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "bindToAnimationPlayerTime",
            "desc": "Binds this AnimationPlayer's update to another AnimationPlayer, but only to it's current time\nIf you would also want state changes from the other AnimationPlayer to affect this,\n`use :bindToAnimationPlayer()`",
            "params": [
                {
                    "name": "parentAnimPlayer",
                    "desc": "AnimationPlayer to bind to",
                    "lua_type": "AnimationPlayer"
                },
                {
                    "name": "offset",
                    "desc": "Optional time offset",
                    "lua_type": "number?"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 617,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "unbindFromAnimationPlayer",
            "desc": "Unbinds the current bound AnimationPlayer",
            "params": [],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 642,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        }
    ],
    "properties": [
        {
            "name": "maid",
            "desc": "",
            "lua_type": "Maid",
            "source": {
                "line": 30,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "timeUpdater",
            "desc": "",
            "lua_type": "TimeUpdater",
            "source": {
                "line": 33,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "currentModelTime",
            "desc": "",
            "lua_type": "number",
            "source": {
                "line": 36,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "currentData",
            "desc": "",
            "lua_type": "AnimationData?",
            "source": {
                "line": 39,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "onPlaying",
            "desc": "",
            "lua_type": "Signal",
            "tags": [
                "Signal"
            ],
            "source": {
                "line": 43,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "onPaused",
            "desc": "",
            "lua_type": "Signal",
            "tags": [
                "Signal"
            ],
            "source": {
                "line": 47,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "onStopped",
            "desc": "",
            "lua_type": "Signal",
            "tags": [
                "Signal"
            ],
            "source": {
                "line": 51,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "onStateChanged",
            "desc": "",
            "lua_type": "Signal",
            "tags": [
                "Signal"
            ],
            "source": {
                "line": 55,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "onAnimationLengthReached",
            "desc": "",
            "lua_type": "Signal",
            "tags": [
                "Signal"
            ],
            "source": {
                "line": 59,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "onLooped",
            "desc": "",
            "lua_type": "Signal",
            "tags": [
                "Signal"
            ],
            "source": {
                "line": 63,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "onAnimationChanged",
            "desc": "",
            "lua_type": "Signal",
            "tags": [
                "Signal"
            ],
            "source": {
                "line": 67,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        }
    ],
    "types": [
        {
            "name": "BoundAnimationPlayerInfo",
            "desc": "",
            "fields": [
                {
                    "name": "animationPlayer",
                    "lua_type": "AnimationPlayer",
                    "desc": ""
                },
                {
                    "name": "offset",
                    "lua_type": "number",
                    "desc": ""
                }
            ],
            "source": {
                "line": 72,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        },
        {
            "name": "AnimationUpdateData",
            "desc": "Data when AnimationPlayer updates.\n- *Extends TimeUpdateData*",
            "fields": [
                {
                    "name": "currentTime",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "previousTime",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "updatedTime",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "wasCurrentTimeSet",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "hasStateChanged",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "hasReachedAnimationLength",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "hasStoppedAtAnimationEnd",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "wasAnimationChanged",
                    "lua_type": "boolean",
                    "desc": ""
                }
            ],
            "source": {
                "line": 167,
                "path": "src/shared/animationPlayer/AnimationPlayer.lua"
            }
        }
    ],
    "name": "AnimationPlayer",
    "desc": "Plays an Animation which updates the current AnimationTimeData",
    "source": {
        "line": 27,
        "path": "src/shared/animationPlayer/AnimationPlayer.lua"
    }
}