2019-12-21 18:40:17 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
2019-12-29 17:39:19 -05:00
|
|
|
#include "GpVOSEvent.h"
|
|
|
|
|
|
2019-12-25 22:20:10 -05:00
|
|
|
struct GpKeyboardInputEvent;
|
2019-12-29 17:39:19 -05:00
|
|
|
struct GpGamepadInputEvent;
|
2019-12-31 03:55:17 -05:00
|
|
|
struct KeyDownStates;
|
2019-12-25 22:20:10 -05:00
|
|
|
|
2019-12-21 18:40:17 -05:00
|
|
|
namespace PortabilityLayer
|
|
|
|
|
{
|
|
|
|
|
class InputManager
|
|
|
|
|
{
|
|
|
|
|
public:
|
2019-12-31 03:55:17 -05:00
|
|
|
virtual void GetKeys(KeyDownStates &keys16) const = 0;
|
2019-12-29 17:39:19 -05:00
|
|
|
virtual void ApplyKeyboardEvent(const GpKeyboardInputEvent &vosEvent) = 0;
|
|
|
|
|
virtual void ApplyGamepadEvent(const GpGamepadInputEvent &vosEvent) = 0;
|
|
|
|
|
virtual int16_t GetGamepadAxis(unsigned int playerNum, GpGamepadAxis_t gamepadAxis) = 0;
|
2020-01-05 02:33:03 -05:00
|
|
|
virtual void ClearState() = 0;
|
2019-12-21 18:40:17 -05:00
|
|
|
|
|
|
|
|
static InputManager *GetInstance();
|
|
|
|
|
};
|
|
|
|
|
}
|