Bob/src/Events.cpp
2016-01-27 12:35:50 +01:00

49 lines
No EOL
1.3 KiB
C++

#include "Events.hpp"
const Uint32 BOB_NEXTROUNDEVENT = register_events(1);
const Uint32 BOB_MARKERUPDATE = register_events(1);
const Uint32 BOB_FIELDUPDATEEVENT = register_events(1);
const Uint32 BOB_FIELDSELECTEDEVENT = register_events(1);
const Uint32 BOB_FIELDUPGRADEVENT = register_events(1);
const Uint32 BOB_NEXTTURNEVENT = register_events(1);
const Uint32 BOB_ATTACKEVENTS = register_events(1);
bool Timer::MOUSE_LOCKED = false;
void Timer::start_timer()
{
this->timer_started = SDL_GetTicks();
}
Uint32 Timer::get_timer()
{
Uint32 ticks_passed = SDL_GetTicks() - this->timer_started;
return ticks_passed;
}
Uint32 Timer::reset_timer()
{
Uint32 ticks_passed = this->get_timer();
this->timer_started = SDL_GetTicks();
return ticks_passed;
}
Uint32 register_events(Uint32 n)
{
Uint32 base_event = SDL_RegisterEvents(n);
if (base_event == ((Uint32) - 1))
throw SDL_Exception("Failed to register events!");
return base_event;
}
void trigger_event(Uint32 type, Sint32 code, void *data1, void *data2)
{
SDL_Event event;
SDL_memset(&event, 0, sizeof(event)); /* or SDL_zero(event) */
event.type = type;
event.user.code = code;
event.user.data1 = static_cast<void *>(data1);
event.user.data2 = data2;
SDL_PushEvent(&event);
}