int Drill::deltaInternal() { int out = lambda(); if(parts > 0) { parts -= 1; throwEvent(1); timeAdvance(parts, process_time); } else { throwEvent(1); timeAdvance(0, process_time); } return out; }
void Drill::timeAdvance(int p, double s) { if(p > 0) { expire->addTime(s,0); throwEvent(); } else { return; } }
void Edit::onKeyDown(int keycode) { if (keycode >= 'A' && keycode <= 'Z') { text += (char)keycode; } if (keycode == KC_BACKSPACE && ! text.empty()) { text = text.substr(0, text.length() - 1); } if (keycode == KC_SPACE || keycode == KC_ENTER) { throwEvent(); } }
void GameCore::run() { log(LOG_DEBUG, "Entered run of Game Core"); GameEvent frame_ev; frame_ev.data = NULL; frame_ev.eventtype = Frame_Event; while (true) { SDL_Event ev; while (SDL_PollEvent(&ev)) { //poll for SDL events switch (ev.type) { // check the event type case SDL_QUIT: die(); break; default: ic.processEvent(ev); } } rc.doFrame(); throwEvent(frame_ev); triggerEvents(); //GL rendering here rc.render(); SDL_GL_SwapWindow(window); } }