00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "control/controller.hpp"
00018
00019 const char* Controller::controlNames[] = {
00020 "left",
00021 "right",
00022 "up",
00023 "down",
00024 "jump",
00025 "action",
00026 "pause-menu",
00027 "menu-select",
00028 "console",
00029 "peek-left",
00030 "peek-right",
00031 "peek-up",
00032 "peek-down",
00033 0
00034 };
00035
00036 Controller::Controller()
00037 {
00038 reset();
00039 }
00040
00041 Controller::~Controller()
00042 {}
00043
00044 void
00045 Controller::reset()
00046 {
00047 for(int i = 0; i < CONTROLCOUNT; ++i) {
00048 controls[i] = false;
00049 oldControls[i] = false;
00050 }
00051 }
00052
00053 void
00054 Controller::set_control(Control control, bool value)
00055 {
00056 controls[control] = value;
00057 }
00058
00059 bool
00060 Controller::hold(Control control)
00061 {
00062 return controls[control];
00063 }
00064
00065 bool
00066 Controller::pressed(Control control)
00067 {
00068 return !oldControls[control] && controls[control];
00069 }
00070
00071 bool
00072 Controller::released(Control control)
00073 {
00074 return oldControls[control] && !controls[control];
00075 }
00076
00077 void
00078 Controller::update()
00079 {
00080 for(int i = 0; i < CONTROLCOUNT; ++i)
00081 oldControls[i] = controls[i];
00082 }
00083
00084