#ifndef __Wumbo_KeyboardInput_h__
#define __Wumbo_KeyboardInput_h__
#include "Wumbo-InputMethod.h"
#if PLATFORM_PC
#include <SFML/Window.hpp>
#else
namespace sf
{
	typedef unsigned int Event;
	namespace Keyboard
	{
		typedef unsigned char Key;
	};
};
#endif

namespace Wumbo
{
	class KeyboardInput : public InputMethod
	{
	private:
		bool keystateDown[256];
		bool keystatePressed[256];
		bool keystateReleased[256];
	public:
		/*Keyboard(InputManager *man);*/
		void initialize();
		void deinitialized();
		void update();
		void onEndOfFrame();
		//
		void handleEvent(sf::Event event);
		bool isKeyPressed(sf::Keyboard::Key key);
		bool isKeyReleased(sf::Keyboard::Key key);
		bool isKeyDown(sf::Keyboard::Key key);
	};
};
#endif