#pragma once #include "state.h" #include "vmath.h" #include namespace VISEQ::BASE { class Movable{ public: Movable() {} virtual ~Movable() {} Movable(Vec2Df p, Vec2Df d, float s) : speed(s), position(p), direction(d) {} Movable(Vec2Df p, float s) : speed(s), position(p) {} std::shared_ptr state = APP::State::get(); float speed = 960.0f; Vec2Df position; Vec2Df direction; virtual void setPosition(Vec2Df _position) {position = _position;} virtual Vec2Df getPosition() {return position;}; virtual void update(double frametime) {}; virtual void update() {}; virtual void update(Vec2Df pos) {}; }; }