コード例 #1
0
void event_manager::process()
{
    for( auto it = events.begin(); it != events.end(); ) {
        it->per_turn();
        if( it->when <= calendar::turn ) {
            it->actualize();
            it = events.erase( it );
        } else {
            it++;
        }
    }
}
コード例 #2
0
void CALifeMonsterDetailPathManager::update					(const ALife::_TIME_ID &time_delta)
{
	// first update has enormous time delta, therefore just skip it
	if (!m_last_update_time)
		return;

	if (completed())
		return;

	if (!actual()) {
		actualize					();

		if (failed())
			return;
	}

	follow_path						(time_delta);
}