85 lines
2.1 KiB
C++
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()));
|
|
}
|
|
}
|
|
}
|