X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FCharacter.hh;h=d1ec2c313713314bf0c3857002e33387c6a85680;hp=0a3f9f40d0724a26e2fdbaa1457ec8f1ab7f9932;hb=23d8f7a5fbd1eca7f46f2342c20ac5e28ae0128a;hpb=25aefe01ef7dbdb603c51411e04b0d6a6107684f diff --git a/src/Character.hh b/src/Character.hh index 0a3f9f4..d1ec2c3 100644 --- a/src/Character.hh +++ b/src/Character.hh @@ -31,13 +31,14 @@ #include -#include #include #include #include -#include #include -#include + +#include "Animation.hh" +#include "Tilemap.hh" + struct Character; @@ -51,6 +52,7 @@ typedef boost::shared_ptr CharacterP; struct Character : public Mf::Entity { + /* struct Derivative { Mf::Vector2 velocity; @@ -102,6 +104,9 @@ struct Character : public Mf::Entity //derivative.force = Mf::Vector2(0.0, 0.0); derivative.velocity = velocity; derivative.force = force; + + //Mf::Vector2 x = position - Mf::Vector2(500.0, 200.0); + //derivative.force += -15.0 * x - 1.5 * velocity; } void applyDerivative(const Derivative& derivative, Mf::Scalar dt) @@ -132,52 +137,32 @@ struct Character : public Mf::Entity return newState; } }; +*/ - State previous; - State current; - - Mf::OctreeNodeP treeNode; + Mf::State2 previous; + Mf::State2 current; private: static const Mf::Scalar z = 96.0; - Mf::Vector2 userForce; - - Mf::Tilemap tilemap_; - Mf::Animation animation_; +protected: - void updateContainers(); + Mf::Vector2 userForce; public: - static CharacterP alloc(const std::string& name) - { - return CharacterP(new Character(name)); - } - Character(const std::string& name); virtual ~Character() {} - void update(Mf::Scalar t, Mf::Scalar dt); - void handleEvent(const Mf::Event& event); - void draw(Mf::Scalar alpha) const; - - Mf::Tilemap& getTilemap(); - Mf::Animation& getAnimation(); -}; + virtual void update(Mf::Scalar t, Mf::Scalar dt); + virtual void draw(Mf::Scalar alpha) const; -//inline Character::State operator*(Mf::Scalar scalar, - //const Character::State& state) -//{ - //Character::State newState = state; - //newState.position *= scalar; - //newState.momentum *= scalar; - //newState.recalculate(); - //return newState; -//} + Tilemap tilemap; + Animation animation; +}; #endif // _CHARACTER_HH_