nuclear@6: #ifndef DRAGON_H_ nuclear@6: #define DRAGON_H_ nuclear@6: nuclear@6: #include "vmath/vmath.h" nuclear@6: nuclear@6: class Dragon { nuclear@6: private: nuclear@6: Vector3 pos, dir; nuclear@6: Vector3 head_pos, target; nuclear@6: float head_xlim[2], head_ylim[2]; nuclear@6: nuclear@6: public: nuclear@6: Dragon(); nuclear@6: ~Dragon(); nuclear@6: nuclear@6: void set_position(const Vector3 &p); nuclear@6: void set_direction(const Vector3 &dir); nuclear@6: void set_target(const Vector3 &p); nuclear@6: nuclear@6: void set_head_limits(float xmin, float xmax, float ymin, float ymax); nuclear@6: void move_head(const Vector3 &p); nuclear@6: void move_head(float dx, float dy); nuclear@6: const Vector3 &head_position() const; nuclear@6: Vector3 breath_dir() const; nuclear@6: nuclear@6: void update(); nuclear@6: void draw() const; nuclear@6: }; nuclear@6: nuclear@6: #endif // DRAGON_H_