00001 #ifndef HEADER_MOUSECONTROL_H 00002 #define HEADER_MOUSECONTROL_H 00003 00004 class V2; 00005 class Controls; 00006 class View; 00007 class InputProvider; 00008 class FinderAlg; 00009 00010 /** 00011 * Mouse controls move. 00012 */ 00013 class MouseControl { 00014 private: 00015 Controls *m_controls; 00016 const View *m_view; 00017 FinderAlg *m_finder; 00018 private: 00019 bool moveTo(const V2 &field) const; 00020 bool moveHardTo(const V2 &field) const; 00021 public: 00022 MouseControl(Controls *controls, const View *m_view, 00023 FinderAlg *finder); 00024 bool mouseDrive(const InputProvider *input) const; 00025 }; 00026 00027 #endif