EndSequence::update(float elapsed_time)
{
if (!isrunning) return;
- running(elapsed_time);
+ running(elapsed_time);
}
void
if (isrunning) return;
isrunning = true;
isdone = false;
-
+
Player& tux = *Sector::current()->player;
end_sequence_controller = new CodeController();
tux.set_controller(end_sequence_controller);
+ tux.set_speedlimit(230); //MAX_WALK_XM
starting();
}
{
return isdone;
}
-
+
void
EndSequence::starting()
{
- last_x_pos = -1;
- endsequence_timer.start(7.3);
}
void
EndSequence::running(float /*elapsed_time*/)
{
- Player& tux = *Sector::current()->player;
-
- if (tux_may_walk) {
- end_sequence_controller->press(Controller::RIGHT);
- if (int(last_x_pos) == int(tux.get_pos().x)) {
- end_sequence_controller->press(Controller::JUMP);
- }
- }
-
- last_x_pos = tux.get_pos().x;
-
- if (endsequence_timer.check()) isdone = true;
}
void
EndSequence::stopping()
{
}
-