import { TimelineRow } from '../interface/action'; import { TimelineEffect } from '../interface/effect'; import { Emitter } from './emitter'; import { EventTypes } from './events'; /** * 时间轴播放器 * 可脱离编辑器单独运行 * @export * @class TimelineEngine * @extends {Emitter} */ export declare class TimelineEngine extends Emitter { constructor(); private _timerId; private _playRate; private _currentTime; private _playState; private _prev; private _effectMap; private _actionMap; private _actionSortIds; private _next; private _activeActionIds; get isPlaying(): boolean; get isPaused(): boolean; set effects(effects: Record); set data(data: TimelineRow[]); /** * 设置播放速率 * @memberof TimelineEngine */ setPlayRate(rate: number): boolean; /** * 获取播放速率 * @memberof TimelineEngine */ getPlayRate(): number; /** * 重新渲染当前时间 * @return {*} * @memberof TimelineEngine */ reRender(): void; /** * 设置播放时间 * @param {number} time * @param {boolean} [isTick] 是否是tick触发 * @memberof TimelineEngine */ setTime(time: number, isTick?: boolean): boolean; /** * 获取当前时间 * @return {*} {number} * @memberof TimelineEngine */ getTime(): number; /** * 运行: 开始时间为当前time * @param param * @return {boolean} {boolean} */ play(param: { toTime?: number; autoEnd?: boolean; }): boolean; /** * 暂停播放 * @memberof TimelineEngine */ pause(): void; private _end; private _startOrStop; private _tick; private _tickAction; private _dealClear; private _dealEnter; private _dealLeave; private _dealData; }