00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef HEADER_SUPERTUX_CONTROL_CONTROLLER_HPP
00018 #define HEADER_SUPERTUX_CONTROL_CONTROLLER_HPP
00019
00020 class Controller
00021 {
00022 public:
00023 static const char* controlNames[];
00024
00025 enum Control {
00026 LEFT = 0,
00027 RIGHT,
00028 UP,
00029 DOWN,
00030
00031 JUMP,
00032 ACTION,
00033
00034 PAUSE_MENU,
00035 MENU_SELECT,
00036
00037 CONSOLE,
00038
00039 PEEK_LEFT,
00040 PEEK_RIGHT,
00041 PEEK_UP,
00042 PEEK_DOWN,
00043
00044 CONTROLCOUNT
00045 };
00046
00047 Controller();
00048 virtual ~Controller();
00049
00050 void set_control(Control control, bool value);
00052 bool hold(Control control);
00054 bool pressed(Control control);
00056 bool released(Control control);
00057
00058 virtual void reset();
00059 virtual void update();
00060
00061 protected:
00063 bool controls[CONTROLCOUNT];
00065 bool oldControls[CONTROLCOUNT];
00066 };
00067
00068 #endif
00069
00070