72 lines
1.6 KiB
C++
72 lines
1.6 KiB
C++
#ifndef _CINPUT_HPP_
|
|
#define _CINPUT_HPP_
|
|
|
|
/*** SDL Header Files ***/
|
|
#include <SDL.h>
|
|
|
|
/*** Custom Header Files ***/
|
|
#include "cKeyboard.hpp"
|
|
|
|
/*** DLL Header File ***/
|
|
#include "dllExport.h"
|
|
|
|
/*** Custom Header Files ***/
|
|
#include "../UtilityEngine/cString.hpp"
|
|
|
|
using UtilityEngine::cString;
|
|
|
|
namespace InputEngine {
|
|
/* Singleton */
|
|
class EXPORT_FROM_MYDLL cInput
|
|
{
|
|
private:
|
|
cInput();
|
|
~cInput();
|
|
|
|
public:
|
|
static cInput& Inst();
|
|
static void Delete();
|
|
|
|
/// Functions
|
|
const bool Initialize() const;
|
|
|
|
const bool Setup();
|
|
void CleanUp();
|
|
|
|
/* Checks all inputs */
|
|
void CheckInputs( const SDL_Event& event );
|
|
/* Checks all keyboards */
|
|
void CheckKeyboards();
|
|
/* Checks all Joysticks */
|
|
void CheckJoysticks();
|
|
|
|
/* Adds a keyboard to cInput interneal list to be called when CheckInputs is called */
|
|
void AddKeyboard( InputEngine::cKeyboard* keyboard );
|
|
/* Deletes a keyboard in cInput internal list */
|
|
void DeletesKeyboard( const cString& label );
|
|
/* Deletes all keyboards in cInput internal list */
|
|
void DeleteAllKeyboards();
|
|
/* Removes the keyboard from cInput internal list */
|
|
void RemoveKeyboard( const cString& label );
|
|
/* Removes all keyboards from cInput internal list. */
|
|
void RemoveAllKeyboards();
|
|
|
|
void DeleteAllInputs();
|
|
void RemoveAllInputs();
|
|
|
|
/// Sets
|
|
|
|
/// Gets
|
|
/* Gets return true if Input was initialized */
|
|
const bool IsInit() const;
|
|
|
|
private:
|
|
/// Variables
|
|
std::vector<InputEngine::cKeyboard*> m_keyboards;
|
|
|
|
SDL_Event m_event;
|
|
|
|
static cInput* sp_inst;// = nullptr
|
|
};/// END CLASS DEFINITION cInput
|
|
}/// END NAMESPACE DEFINITION InputEngine
|
|
#endif/// END IFNDEF _CINPUT_HPP_
|