geometry::Vector<float> &Velocity() { return velocity; }
const geometry::Vector<float> &Velocity() const { return velocity; }
geometry::Vector<float> &Velocity() { return velocity; }
const geometry::Vector<float> &Velocity() const { return velocity; }
void SetAnimation(const graphics::Animation *a);
void StartAnimation(app::Application &ctrl);
void StartAnimation(app::State &ctrl);
void SetAnimation(const graphics::Animation *a);
void StartAnimation(app::Application &ctrl);
void StartAnimation(app::State &ctrl);
Entity *Follower() { return follower; }
const Entity *Follower() const { return follower; }
void AddFollower(Entity *);
void RemoveFollower(Entity *);
Entity *Follower() { return follower; }
const Entity *Follower() const { return follower; }
void AddFollower(Entity *);
void RemoveFollower(Entity *);
void Update(float deltaT);
void Render(SDL_Surface *, const geometry::Vector<int> &offset) const;
private:
void Update(float deltaT);
void Render(SDL_Surface *, const geometry::Vector<int> &offset) const;
private: