- if(sequencename == "endsequence" || sequencename == "fireworks") {
- if(end_sequence)
- return;
-
- // Determine walking direction for Tux
- float xst = 1.f, xend = 2.f;
- for(std::vector<GameObject*>::iterator i = currentsector->gameobjects.begin(); i != currentsector->gameobjects.end(); i++) {
- SequenceTrigger* st = dynamic_cast<SequenceTrigger*>(*i);
- if(!st)
- continue;
- if(st->get_sequence_name() == "stoptux")
- xend = st->get_pos().x;
- else if(st->get_sequence_name() == "endsequence")
- xst = st->get_pos().y;
- }
- end_sequence = new EndSequence();
- currentsector->add_object(end_sequence);
- end_sequence->start((xst > xend) ? LEFT : RIGHT);
-
- sound_manager->play_music("music/leveldone.ogg", false);
- currentsector->player->invincible_timer.start(7.3f);
-
- // Stop all clocks.
- for(std::vector<GameObject*>::iterator i = currentsector->gameobjects.begin();
- i != currentsector->gameobjects.end(); ++i)
- {
- GameObject* obj = *i;
-
- LevelTime* lt = dynamic_cast<LevelTime*> (obj);
- if(lt)
- lt->stop();
- }
-
- if(sequencename == "fireworks") {
- currentsector->add_object(new Fireworks());
- }
- } else if(sequencename == "stoptux") {
- if(!end_sequence) {