@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
20 lines (17 loc) • 670 B
JavaScript
import AnimationTrackPlayback from "../../../../animation/keyed2/AnimationTrackPlayback.js";
import { playTrackRealTime } from "../../../../animation/playTrackRealTime.js";
/**
* @template T
* @param {AnimationTrack} track
* @param {T} context
* @param {function} update
* @param {EntityComponentDataset} ecd
* @returns {Promise<T>}
*/
export function playAnimation(track, context, update, ecd) {
return new Promise((resolve, reject) => {
const trackPlayback = new AnimationTrackPlayback(track, update, context);
playTrackRealTime(trackPlayback, ecd);
trackPlayback.on.ended.add(() => resolve(context));
});
}