Files
SDLPongCPP/TrooperEngineDLL/TrooperEngine/InputEngine/cInput.hpp
T
2018-06-25 21:48:45 -04:00

71 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:
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_