From fb1988b1cd747c5f77583db827ac240dff2ed4be Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Sun, 22 Apr 2018 18:02:00 +0200 Subject: Add crystals as a currency. --- src/game/interface.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/game/interface.cpp') diff --git a/src/game/interface.cpp b/src/game/interface.cpp index 5b89f58..9e43839 100644 --- a/src/game/interface.cpp +++ b/src/game/interface.cpp @@ -406,6 +406,7 @@ static void render_avatar(render::state_t *render, game::unit_t *unit, v2f_t at, void state_t::render_to(render::state_t *render) { size_t w = window->getSize().x, h = window->getSize().y; + rectf_t rect; v2f_t x; std::stringstream ss; v2f_t avatar_size; @@ -468,14 +469,31 @@ void state_t::render_to(render::state_t *render) i++; } - x = v2f_t(0.0f, 0.0f); + rect = rectf_t(v2f_t(0.0f, 0.0f), v2f_t(w, 1.1f * em)); + render->render_rect(rect, sf::Color(0, 0, 0, 140)); + + rect = rectf_t(v2f_t(0.0f, 0.0f), 1.1f * v2f_t(em, em)); + render->render(0.0, &assets::ui.crystals, rect, sf::Color::White); + + x = v2f_t(1.1f * em, 0.0f); + render->render_text(x, em, std::to_string(game->crystals), render::ALIGN_LEFT_TOP, sf::Color::White); + + x = v2f_t(w - 0.3f * em, 0.0f); + if (game->paused) + ss << "PAUSED "; + ss << game->time / SEC(60); + ss << ":"; + ss << std::setw(2) << std::setfill('0') << game->time / SEC(1) % 60 << std::setw(0); + render->render_text(x, em, ss.str(), render::ALIGN_RIGHT_TOP, sf::Color::White); + + x = v2f_t(0.0f, rect[1][1]); for (log_entry_t &entry : log) { render->render_text(x, em, entry.text, render::ALIGN_LEFT_TOP, sf::Color::White); x[1] += em; } x = v2f_t(0.0f, h - em * 1.5); - + ss.str(std::string()); ss << std::fixed << std::setprecision(3); ss << "Game t/F/B: " << game->time * 1.0e-9 << "/" << game->frames << "/" << game->frames_behind; render->render_text(x, em, ss.str(), render::ALIGN_LEFT_TOP, sf::Color::White); -- cgit