void eventMaster::handleEvents() { while (!event_queue.empty()) { event * evt = event_queue.front(); if (evt->type == COLLISION) { handleCollisionEvent(*((collisionEvent *) evt)); } else if (evt->type == TURN) { handleTurnEvent(*((turnEvent *) evt)); } else if (evt->type == KEY) { handleKeyEvent(*((keyEvent *) evt)); } else if (evt->type == MOUSE) { handleMouseEvent(*((mouseEvent*) evt)); } else if (evt->type == CUSTOM) { handleCustomEvent(*((customEvent*) evt)); } event_queue.pop(); if (Parent != NULL) { Parent->take_event(evt); } else { delete evt; } } }
void CollisionEventHandler::internal_handlePendingCollisionEvents() { while (!mPendingCollisionEvents.empty()) { handleCollisionEvent(mPendingCollisionEvents.back()); mPendingCollisionEvents.pop_back(); } }
void eventMaster::handle_event(event * evt) { if (evt->type == COLLISION) { handleCollisionEvent(*((collisionEvent *) evt)); } else if (evt->type == TURN) { handleTurnEvent(*((turnEvent *) evt)); } else if (evt->type == KEY) { handleKeyEvent(*((keyEvent *) evt)); } else if (evt->type == MOUSE) { handleMouseEvent(*((mouseEvent*) evt)); } else if (evt->type == CUSTOM) { handleCustomEvent(*((customEvent*) evt)); } }