X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FCharacter.hh;h=82804babf16b32b37ae4db339229398ef3a8983b;hb=81ff940d1bea07447f8218ab9a764fbf393431e8;hp=2f175ad65d3b7c90aeafaa03a7f6f6de3ba9c5b6;hpb=79becf045222f385da5a1b9eb79081f6f5266c86;p=chaz%2Fyoink diff --git a/src/Character.hh b/src/Character.hh index 2f175ad..82804ba 100644 --- a/src/Character.hh +++ b/src/Character.hh @@ -29,29 +29,50 @@ #ifndef _CHARACTER_HH_ #define _CHARACTER_HH_ +#include + +#include +#include +#include +#include +#include +#include + +#include "Animation.hh" + + + +class Character; +typedef boost::shared_ptr CharacterP; + + /** - * @file Character.hh - * Parent class of animate objects with "personalities." + * Parent class of animate objects with "personalities." This basically + * includes the heroine herself and the bad guys. */ - -class Character : public dc::resource, public dc::drawable +class Character : public Mf::RigidBody2 { public: - struct exception : public std::runtime_error - { - explicit exception(const std::string& what_arg) : - std::runtime_error(what_arg) {} - }; Character(const std::string& name); + virtual ~Character() {} + + virtual void update(Mf::Scalar t, Mf::Scalar dt); + virtual void draw(Mf::Scalar alpha) const; - void draw(dc::scalar alpha); + void addImpulse(Mf::Vector2 impulse); + void addForce(Mf::Vector2 force); + void setPosition(Mf::Vector2 position); - dc::tilemap* texture; - dc::animation* anim; + //virtual int getOctant(const Mf::Aabb<3>& aabb) const; + + Mf::Texture tilemap; + Animation animation; }; #endif // _CHARACTER_HH_ +/** vim: set ts=4 sw=4 tw=80: *************************************************/ +