#include "gui.hpp" #include // for EXIT_SUCCESS #include // for milliseconds #include #include #include // for allocator, shared_ptr #include // for operator+, to_string #include #include #include #include "builder.hpp" #include #include #include "sound.hpp" #include "shaders.hpp" using std::string, std::vector; GUI::GUI(SFMLBackend &backend, int timer_seconds) : sfml(backend), $timer_seconds(timer_seconds) { using namespace guecs; $gui.position(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); $gui.layout( "[*%(200,300)face|_|*%(100,300)status|*%(200,500)log|_]" "[_|_|_|_|_]" "[_|_|_|_|_]" "[*%(300,200)clock|_|_|_|_]" "[_|_|_|_|_]" "[hp_bar]"); $gui.world().set_the({$gui.$parser, {0,0,0,0}}); for(auto& [name, cell] : $gui.cells()) { auto ent = $gui.entity(name); $gui.set(ent, {}); } auto face = $gui.entity("face"); $gui.set(face, {"building"}); auto status = $gui.entity("status"); $gui.set(status, {L""}); auto log = $gui.entity("log"); auto& rect = $gui.get(log); rect.color = {255,255,255,255}; $gui.set(log, {(float)$timer_seconds, "build_status"}); auto clock = $gui.entity("clock"); $gui.set