/* $Id: scusibot.hpp,v 1.5 2005/10/16 17:53:05 pohlt Exp $ */ #ifndef _SCUSIBOT_HPP_ #define _SCUSIBOT_HPP_ #include "bot.hpp" #include "vector.hpp" #include class ScusiBot : public Bot { private: enum State { IDLE, MOVE_TO_PRELANDING_POINT, MOVE_TO_LANDING_POINT, ADJUST_GUN_SEAT, IN_GUN, ATTACK_AVATAR_IN_GUN, ATTACK_AVATAR }; private: Event m_event; Vector m_lastPosition; int m_count; State m_state; std::vector m_visibleAvatars; Avatar* m_targetAvatar; public: ScusiBot(); virtual Event getEvent() const { return m_event; } virtual void update(); private: void moveTo( const Vector& targetVector, real tolX, real tolY ); void keepPosition( const Vector& pos ); void aimAt( Object* object ); void shootAt( Object* object ); }; #endif // _SIMPLEBOT_HPP_