summaryrefslogtreecommitdiff
path: root/src/game/interface.cpp
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2018-04-22 18:02:00 +0200
committerPaweł Redman <pawel.redman@gmail.com>2018-04-22 18:02:00 +0200
commitfb1988b1cd747c5f77583db827ac240dff2ed4be (patch)
tree4fa9850781fc87c1d264758119432770be564980 /src/game/interface.cpp
parent87422cff1507f8b5a8633eee5dadbadfef872dab (diff)
Add crystals as a currency.
Diffstat (limited to 'src/game/interface.cpp')
-rw-r--r--src/game/interface.cpp22
1 files changed, 20 insertions, 2 deletions
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);