Events are now passing correctly, small bug with held keys that needs fixing

This commit is contained in:
MitchellHansen
2017-01-14 15:15:59 -08:00
parent 0e1e9af37c
commit 10e3ba43fa
8 changed files with 216 additions and 86 deletions

View File

@@ -87,9 +87,44 @@ int Camera::update(double delta_time) {
return 1;
}
void Camera::update(VrEventPublisher* p, vr::Event e) {
void Camera::recieve_event(VrEventPublisher* publisher, std::unique_ptr<vr::Event> event) {
if (event.get()->type == vr::Event::KeyHeld) {
vr::KeyHeld *held_event = static_cast<vr::KeyHeld*>(event.get());
float speed = 1.0f;
if (held_event->code == sf::Keyboard::LShift) {
speed = 0.2f;
}
else if (held_event->code == sf::Keyboard::C) {
look_at_center();
}
else if (held_event->code == sf::Keyboard::Q) {
add_relative_impulse(Camera::DIRECTION::DOWN, speed);
}
else if (held_event->code == sf::Keyboard::E) {
add_relative_impulse(Camera::DIRECTION::UP, speed);
}
else if (held_event->code == sf::Keyboard::W) {
add_relative_impulse(Camera::DIRECTION::FORWARD, speed);
}
else if (held_event->code == sf::Keyboard::S) {
add_relative_impulse(Camera::DIRECTION::REARWARD, speed);
}
else if (held_event->code == sf::Keyboard::A) {
add_relative_impulse(Camera::DIRECTION::LEFT, speed);
}
else if (held_event->code == sf::Keyboard::D) {
add_relative_impulse(Camera::DIRECTION::RIGHT, speed);
}
else if (held_event->code == sf::Keyboard::T) {
set_position(sf::Vector3f(50, 50, 50));
}
}
std::cout << "Cam event" << std::endl;
}
void Camera::look_at_center() {