X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Flevel_time.cpp;h=3244a46fd812635b4e47b519c3f7d832835e8359;hb=555d1b7bebb45326d82d934e07463209837309b0;hp=bf86db6334f35c5e9327b87cad6b443ff2f07c93;hpb=cc2776a002549ae37ecf78be1333e66282780064;p=supertux.git diff --git a/src/object/level_time.cpp b/src/object/level_time.cpp index bf86db633..3244a46fd 100644 --- a/src/object/level_time.cpp +++ b/src/object/level_time.cpp @@ -68,10 +68,18 @@ LevelTime::update(float elapsed_time) { if (!running) return; - time_left = std::max(time_left - elapsed_time, 0.0f); + int prev_time = (int) floor(time_left*5); + time_left -= elapsed_time; if(time_left <= 0) { - Sector::current()->player->kill(true); - stop(); + if(time_left <= -5 || !Sector::current()->player->get_coins()) + { + Sector::current()->player->kill(true); + stop(); + } + if(prev_time != (int) floor(time_left*5)) + { + Sector::current()->player->add_coins(-1); + } } } @@ -88,9 +96,9 @@ LevelTime::draw(DrawingContext& context) Surface* time_surf = time_surface.get(); if (time_surf) { - float all_width = time_surf->get_width() + white_text->get_text_width(time_text); + float all_width = time_surf->get_width() + normal_font->get_text_width(time_text); context.draw_surface(time_surf, Vector((SCREEN_WIDTH - all_width)/2, BORDER_Y + 1), LAYER_FOREGROUND1); - context.draw_text(gold_text, time_text, Vector((SCREEN_WIDTH - all_width)/2 + time_surf->get_width(), BORDER_Y), LEFT_ALLIGN, LAYER_FOREGROUND1); + context.draw_text(normal_font, time_text, Vector((SCREEN_WIDTH - all_width)/2 + time_surf->get_width(), BORDER_Y), ALIGN_LEFT, LAYER_FOREGROUND1, LevelTime::text_color); } } @@ -108,8 +116,8 @@ LevelTime::stop() { running = false; } - -float + +float LevelTime::get_time() { return time_left;