import GeometryPoint from "./geometry/GeometryPoint.js"; export default class Movable { constructor(defaultAnimation, speed = 1) { this.currentAnimation = 'DEFAULT'; this.animations = { DEFAULT: defaultAnimation, }; this.position = new GeometryPoint(); this.speed = speed; this.fallSpeed = 0; } playAnimation(animation, timestamp) { this.currentAnimation = animation; this.animations[animation].play(timestamp); } addAnimation(name, animation) { this.animations[name] = animation; } moveLeft(delta = 1) { this.position.x -= this.speed * delta; } moveRight(delta = 1) { this.position.x += this.speed * delta; } getRect() { return this.animations[this.currentAnimation].getRect(); } draw(context) { this.animations[this.currentAnimation].setFootPosition(this.position.x, this.position.y); this.animations[this.currentAnimation].draw(context); } }