UNPKG

fatina

Version:

Lighweight Tweening Library for web / games

156 lines (155 loc) 3.5 kB
import { IPlayable } from '../core/interfaces/IPlayable'; import { ISequence } from '../core/interfaces/ISequence'; import { ITicker } from '../core/interfaces/ITicker'; import { ITween } from '../core/interfaces/ITween'; import { BaseTween } from './baseTween'; /** * Sequence: used to animate other tweens or sequence * Can play them sequentially or in parallel * * @export * @class Sequence * @extends {BaseTween} * @implements {ISequence} * @implements {ITicker} * @implements {IPlayable} */ export declare class Sequence extends BaseTween<Sequence> implements ISequence, ITicker, IPlayable { /** * @private */ private readonly evtTick; /** * @private */ private readonly tweens; /** * @private */ private index; /** * @private */ private cur; /** * @private */ private remains; /** * Number of tween in this sequence * * @readonly * @type {number} */ get count(): number; /** * Creates an instance of Sequence. * * @param {(ITween[] | ISequence[] | IPlayable[])} [tweens] */ constructor(tweens?: ITween[] | ISequence[] | IPlayable[]); /** * @protected */ protected loopInit(): void; /** * Add a child to tick * * @param {(dt: number) => void} cb */ addTick(cb: (dt: number) => void): void; /** * Remove a child to tick * * @param {(dt: number) => void} cb * @memberof Sequence */ removeTick(cb: (dt: number) => void): void; /** * @private */ private tick; /** * @private * @param {number} dt * @param {boolean} [remains] * @returns */ private localTick; /** * @private */ private nextTween; /** * * * @param {(ITween | ISequence)} tween * @returns {ISequence} * @memberof Sequence */ append(tween: ITween | ISequence): ISequence; /** * * * @param {() => void} cb * @returns {ISequence} * @memberof Sequence */ appendCallback(cb: () => void): ISequence; /** * * * @param {number} duration * @returns {ISequence} * @memberof Sequence */ appendInterval(duration: number): ISequence; /** * * * @param {(ITween | ISequence)} tween * @returns {ISequence} * @memberof Sequence */ prepend(tween: ITween | ISequence): ISequence; /** * * * @param {() => void} cb * @returns {ISequence} * @memberof Sequence */ prependCallback(cb: () => void): ISequence; /** * * * @param {number} duration * @returns {ISequence} * @memberof Sequence */ prependInterval(duration: number): ISequence; /** * @inheritdoc * * @param {boolean} [finalValue] * @returns {void} */ skip(finalValue?: boolean): void; /** * @inheritdoc */ kill(): void; /** * @param {(ITween | ISequence)} tween * @returns {ISequence} */ join(tween: ITween | ISequence): ISequence; /** * @inheritdoc */ onStepStart(cb: (index: ITween | IPlayable) => void): ISequence; /** * @inheritdoc */ onStepEnd(cb: (index: ITween | IPlayable) => void): ISequence; }