summaryrefslogtreecommitdiff
path: root/src/game/interface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/interface.cpp')
-rw-r--r--src/game/interface.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/game/interface.cpp b/src/game/interface.cpp
index 854b620..a367607 100644
--- a/src/game/interface.cpp
+++ b/src/game/interface.cpp
@@ -131,4 +131,35 @@ void state_t::tick(double dt)
select.rect[1] = wmouse;
}
+void state_t::print(std::string str)
+{
+ log.push_back((log_entry_t){game->now, str});
+ std::cout << str << std::endl;
+}
+
+void state_t::render_to(render::state_t *render)
+{
+ size_t w = window->getSize().x, h = window->getSize().y;
+ v2f_t x;
+
+ window->setView(sf::View(sf::FloatRect(0, 0, w, h)));
+ em = std::min(w, h) * 0.04;
+
+ if (select.selecting)
+ render->render_hlrect(select.rect, sf::Color(200, 100, 50));
+
+ for (auto i = log.begin(); i != log.end(); ) {
+ if (i->time + 3 < game->now)
+ i = log.erase(i);
+ else
+ i++;
+ }
+
+ x = v2f_t(0.0f, 0.0f);
+ for (log_entry_t &entry : log) {
+ render->render_text(x, em, entry.text, render::ALIGN_LEFT_TOP, sf::Color::White);
+ x[1] += em;
+ }
+}
+
} // namespace interface