XRay3D/test/event.cpp
2020-04-17 18:11:57 +02:00

85 lines
2.1 KiB
C++

#include "event.h"
#include <XRA3D/render.h>
#include <XRA3D/devices.h>
#include <iostream>
myEventProfil::myEventProfil() : m_camera(0)
{
}
myEventProfil::~myEventProfil()
{
}
void myEventProfil::input(Xr_Camera *camera)
{
if(camera)
{
m_camera = camera;
}
}
void myEventProfil::execute(Xr_DevicesDesc *devices)
{
if(m_camera)
{
/*if(devices->windowHeight && devices->windowWidth)
{
Xr_Renderer::getInstance()->setVideo(devices->windowWidth, devices->windowHeight, false);
Xr_Renderer::getInstance()->setImageSize(devices->windowWidth, devices->windowHeight);
std::cout << devices->windowWidth << "x" << devices->windowHeight << std::endl;
}*/
if(Xr_EventManager::getInstance()->mouseCaptured())
{
m_camera->relAngle(devices->mouse->relX * 20 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()), devices->mouse->relY * 20 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
}
if(devices->mouse->button[XR_MOUSE_BUTTON_LEFT])
{
Xr_EventManager::getInstance()->enableMouseCapture();
}
if(devices->keyboard->key[XR_KEY_LCTRL])
{
Xr_EventManager::getInstance()->disableMouseCapture();
}
if(devices->keyboard->key[XR_KEY_ESCAPE])
{
Xr_EventManager::getInstance()->genQuitEvent();
}
if(devices->keyboard->key[XR_KEY_LSHIFT])
{
m_camera->moveUpDown(-4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
}
if(devices->keyboard->key[XR_KEY_SPACE])
{
m_camera->moveUpDown(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
}
if(devices->keyboard->key[XR_KEY_z])
{
m_camera->moveForward(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
}
if(devices->keyboard->key[XR_KEY_s])
{
m_camera->moveBackward(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
}
if(devices->keyboard->key[XR_KEY_q])
{
m_camera->moveLeft(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
}
if(devices->keyboard->key[XR_KEY_d])
{
m_camera->moveRight(4 * ((float) 1 / Xr_Renderer::getInstance()->getFrameRate()));
}
}
}