Level editor work

This commit is contained in:
elasota
2020-02-25 23:09:09 -05:00
parent c78a20dafd
commit d617795591
11 changed files with 152 additions and 29 deletions

View File

@@ -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)