X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=SCX%2FCar.pm;h=91a244d129d83136d146329f133bade6233d8609;hb=e5ecd9d0a9df93798930c678f4f4aa58e0e6a10a;hp=b6466be7ad12ad3b97ffbf66b82a6a0cf386376a;hpb=cd3dd2cbdb007c774c2485a7e14cf12b75249dfd;p=slotcarman.git diff --git a/SCX/Car.pm b/SCX/Car.pm index b6466be..91a244d 100644 --- a/SCX/Car.pm +++ b/SCX/Car.pm @@ -100,6 +100,12 @@ sub set_lap { } return if $self->same('lap', $lap_nr); + if (defined $self->{lap} && defined $self->track->{race_rounds} + && $self->track->{race_rounds} > 0 + && $self->{lap} > $self->track->{race_rounds}) { + $self->{finished} = 1; + $self->print_state; + } $self->gui->set_lap($self->{order}, $lap_nr); if ($self->track->{race_running} && $self->{lap} > 1) { my $now = $self->{last_finish_time}; @@ -192,8 +198,6 @@ sub print_state { if ($self->{in_pit_lane}) { $self->{state} = 'pit'; - } elsif ($self->{running}) { - $self->{state} = 'go'; } elsif ($self->{finished}) { $self->{state} = 'finished'; } elsif ($self->{early_start}) { @@ -210,6 +214,7 @@ sub reset { $self->set_lap(0); $self->set_laptime(undef); + $self->{finished} = 0; $self->{in_pit_lane} = 0; $self->{early_start} = undef; $self->{last_finish_time} = undef; @@ -270,6 +275,7 @@ sub recalc_distance { $self->gui->set_distance($self->{order}, $time, $self->{lap_diff}, $self->{time_diff}); + $self->{grey_diff} = undef; } 1;