fatina
Version:
Lighweight Tweening Library for web / games
156 lines (155 loc) • 3.5 kB
TypeScript
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;
}