//--------------------------------------------------------------------------------- // Name: handleGameStates() //--------------------------------------------------------------------------------- void GameplayState::handleGameStates( App * app, unsigned ms ) { if ( isInState(MAP_COMPLETED) && ms > m_map_complete_time + MAP_COMPLETE_INTERVAL ) { changeState( GAMEPLAY, app ); } if ( isInState(GAME_OVER) && m_game_over_anim.expired() ) { BATTLE_CITY->resetGame(); changeState( INTRO, app ); } }
//--------------------------------------------------------------------------------- // Name: execute() //--------------------------------------------------------------------------------- void GameplayState::execute(App * app) { unsigned ms = TIMER->getTime(); RENDER_MGR->handleEvents(); updateGui(); EVENT_MGR->update(ms); AUDIO_MGR->update(ms); PROC_MGR ->update(ms); if ( !isInState(GAME_OVER)) BATTLE_CITY->update(ms); if ( !isInState( MAP_COMPLETED | GAME_OVER )) { AI->update(ms); checkForMapComplete(); } handleGameStates( app, ms ); RENDER_MGR->update(); }
void FIFOCacheMemState::accessAddress(uint32_t addr) { if(!isInState(addr)) { MemEntry tmp; tmp.address = addr; content.insert(content.begin(), tmp); if(content.size() > max_lines) { content.pop_back(); assert(content.size() <= max_lines); } } else { // do nothing. } }