UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

40 lines (32 loc) 961 B
import { Behavior } from "../../../intelligence/behavior/Behavior.js"; import { BehaviorStatus } from "../../../intelligence/behavior/BehaviorStatus.js"; export class AnimationBehavior extends Behavior { /** * * @param {AnimationTrackPlayback} animation */ constructor(animation) { super(); /** * * @type {AnimationTrackPlayback} */ this.animation = animation; } /** * * @param {number} timeDelta * @returns {BehaviorStatus} */ tick(timeDelta) { const animation = this.animation; animation.advance(timeDelta); if (animation.position >= animation.track.timeEnd && !animation.loop) { return BehaviorStatus.Succeeded; } return BehaviorStatus.Running; } initialize(_ignore_) { this.animation.setPosition(this.animation.track.timeStart); } }