36 lines
790 B
C
36 lines
790 B
C
|
#ifndef _CONTROLLER_H
|
||
|
#define _CONTROLLER_H
|
||
|
|
||
|
#include "Engine.h"
|
||
|
#include "ControllerBase.h"
|
||
|
|
||
|
namespace asteroids {
|
||
|
|
||
|
/** \brief All possible controller states for an Entity
|
||
|
*
|
||
|
* These are used by the controller to update the current state of an Entity
|
||
|
* (e.g. EntityPhysicState).
|
||
|
*/
|
||
|
enum EntityControllerKeyState {
|
||
|
EntityKeyStateForward = 0,
|
||
|
EntityKeyStateBack,
|
||
|
EntityKeyStateLeft,
|
||
|
EntityKeyStateRight,
|
||
|
EntityKeyStateTurnLeft,
|
||
|
EntityKeyStateTurnRight,
|
||
|
EntityKeyStateLast
|
||
|
};
|
||
|
|
||
|
class Controller : public Engine::ControllerBase {
|
||
|
public:
|
||
|
Controller () {};
|
||
|
protected:
|
||
|
/** \brief Set up basic keybindings */
|
||
|
virtual int OnInit (int argc, char* argv[]);
|
||
|
/** \brief Registers the commands of the cnotroller */
|
||
|
virtual void OnRegisterCommands ();
|
||
|
};
|
||
|
|
||
|
}
|
||
|
#endif // _CONTROLLER_H
|