60 lines
1016 B
C++
60 lines
1016 B
C++
//
|
|
// Created by Epagris on 2020. 03. 01..
|
|
//
|
|
|
|
#include "EventHandler.h"
|
|
#include "Logger.h"
|
|
|
|
eg3d::EventHandler::EventHandler() {
|
|
init();
|
|
}
|
|
|
|
void eg3d::EventHandler::init()
|
|
{
|
|
mCamVelocity = 0.0f; // kamera sebességének inicializációja
|
|
}
|
|
|
|
float eg3d::EventHandler::getCamVelocity() const
|
|
{
|
|
return mCamVelocity;
|
|
}
|
|
|
|
// -----------------------------------
|
|
|
|
int eg3d::EventHandler::processEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
|
|
// TODO eseménykezelés megvalósítása
|
|
EventHandler * pThis_EH = static_cast<Window *>((void *)GetWindowLongPtrA(hwnd, GWLP_USERDATA))->getEventHandler(); // ablakhoz rendelt eseménykezelõ elkérése
|
|
|
|
switch (message)
|
|
{
|
|
case WM_KEYDOWN:
|
|
{
|
|
switch (wParam)
|
|
{
|
|
case 'A':
|
|
pThis_EH->mCamVelocity = -cCAM_VELOCITY;
|
|
break;
|
|
case 'D':
|
|
pThis_EH->mCamVelocity = cCAM_VELOCITY;
|
|
break;
|
|
}
|
|
|
|
}
|
|
break;
|
|
|
|
case WM_KEYUP:
|
|
{
|
|
if (wParam == 'A' || wParam == 'D')
|
|
{
|
|
pThis_EH->mCamVelocity = 0.0f;
|
|
}
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
} |