X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2FCharacter.hh;h=d70da88f6e1aa371e67271bc42539164b69a97b4;hb=8a1acac01b444dccf8b57cedf08392ada2e473c1;hp=19559f38b0f54be1643f31fc29f2949323be977b;hpb=bc2bc12125d6c223d2935557e01926fe21166e38;p=chaz%2Fyoink diff --git a/src/Character.hh b/src/Character.hh index 19559f3..d70da88 100644 --- a/src/Character.hh +++ b/src/Character.hh @@ -31,9 +31,12 @@ #include +#include #include #include -#include +#include +#include +#include #include "Animation.hh" #include "Tilemap.hh" @@ -49,12 +52,8 @@ typedef boost::shared_ptr CharacterP; * includes the heroine herself and the bad guys. */ -struct Character : public Mf::Entity +class Character : public Mf::RigidBody2, public Mf::OctreeInsertable { -protected: - - Mf::Vector2 userForce; - public: Character(const std::string& name); @@ -63,9 +62,20 @@ public: virtual void update(Mf::Scalar t, Mf::Scalar dt); virtual void draw(Mf::Scalar alpha) const; + void setZCoord(Mf::Scalar z); + + void addImpulse(Mf::Vector2 impulse); + void addForce(Mf::Vector2 force); + void setPosition(Mf::Vector2 position); + + virtual int getOctant(const Mf::Aabb& aabb) const; Tilemap tilemap; Animation animation; + +private: + + mutable Mf::Scalar mZCoord; };