mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-12-14 12:09:36 +00:00
Level editor work
This commit is contained in:
@@ -15,6 +15,7 @@ namespace PortabilityLayer
|
||||
const KeyDownStates *GetKeys() const override;
|
||||
void ApplyKeyboardEvent(const GpKeyboardInputEvent &vosEvent) override;
|
||||
void ApplyGamepadEvent(const GpGamepadInputEvent &vosEvent) override;
|
||||
void ApplyMouseEvent(const GpMouseInputEvent &vosEvent) override;
|
||||
int16_t GetGamepadAxis(unsigned int playerNum, GpGamepadAxis_t gamepadAxis) override;
|
||||
void ClearState() override;
|
||||
|
||||
@@ -22,6 +23,7 @@ namespace PortabilityLayer
|
||||
|
||||
private:
|
||||
void ApplyEventAsKey(const GpKeyboardInputEvent &vosEvent, bool bit);
|
||||
void ApplyEventAsMouseButton(const GpMouseInputEvent &vosEvent, bool bit);
|
||||
void ApplyAnalogAxisEvent(const GpGamepadAnalogAxisEvent &axisEvent);
|
||||
|
||||
KeyDownStates m_keyMap;
|
||||
@@ -49,6 +51,14 @@ namespace PortabilityLayer
|
||||
ApplyAnalogAxisEvent(vosEvent.m_event.m_analogAxisEvent);
|
||||
}
|
||||
|
||||
void InputManagerImpl::ApplyMouseEvent(const GpMouseInputEvent &vosEvent)
|
||||
{
|
||||
if (vosEvent.m_eventType == GpMouseEventTypes::kUp || vosEvent.m_eventType == GpMouseEventTypes::kLeave)
|
||||
this->ApplyEventAsMouseButton(vosEvent, false);
|
||||
else if (vosEvent.m_eventType == GpMouseEventTypes::kDown)
|
||||
this->ApplyEventAsMouseButton(vosEvent, true);
|
||||
}
|
||||
|
||||
int16_t InputManagerImpl::GetGamepadAxis(unsigned int playerNum, GpGamepadAxis_t gamepadAxis)
|
||||
{
|
||||
assert(playerNum < PL_INPUT_MAX_PLAYERS);
|
||||
@@ -105,6 +115,11 @@ namespace PortabilityLayer
|
||||
}
|
||||
}
|
||||
|
||||
void InputManagerImpl::ApplyEventAsMouseButton(const GpMouseInputEvent &vosEvent, bool bit)
|
||||
{
|
||||
m_keyMap.m_mouse.Set(vosEvent.m_button, bit);
|
||||
}
|
||||
|
||||
void InputManagerImpl::ApplyAnalogAxisEvent(const GpGamepadAnalogAxisEvent &axisEvent)
|
||||
{
|
||||
if (axisEvent.m_player < PL_INPUT_MAX_PLAYERS)
|
||||
|
||||
Reference in New Issue
Block a user