Quick ability to set the countdown timer length.
This commit is contained in:
parent
d4d8c780a4
commit
8a30fafabb
4 changed files with 21 additions and 6 deletions
|
@ -24,7 +24,6 @@ enum class GameBonus {
|
|||
};
|
||||
|
||||
class GameEngine : DeadSimpleFSM<GameState, GameEvent> {
|
||||
|
||||
std::map<string, int> damage_types{
|
||||
{"error", 4},
|
||||
{"warning", 1},
|
||||
|
|
6
gui.cpp
6
gui.cpp
|
@ -16,7 +16,9 @@
|
|||
|
||||
using std::string, std::vector;
|
||||
|
||||
GUI::GUI(SFMLBackend &backend) : sfml(backend) {
|
||||
GUI::GUI(SFMLBackend &backend, int timer_seconds) :
|
||||
sfml(backend), $timer_seconds(timer_seconds)
|
||||
{
|
||||
using namespace guecs;
|
||||
|
||||
$gui.position(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
|
@ -44,7 +46,7 @@ GUI::GUI(SFMLBackend &backend) : sfml(backend) {
|
|||
auto log = $gui.entity("log");
|
||||
auto& rect = $gui.get<Rectangle>(log);
|
||||
rect.color = {255,255,255,255};
|
||||
$gui.set<Effect>(log, {1000.0, "build_status"});
|
||||
$gui.set<Effect>(log, {(float)$timer_seconds, "build_status"});
|
||||
|
||||
auto clock = $gui.entity("clock");
|
||||
$gui.set<Label>(clock, {L"00:00:00", 110});
|
||||
|
|
3
gui.hpp
3
gui.hpp
|
@ -16,10 +16,11 @@ class GUI {
|
|||
std::wstring $status;
|
||||
DinkyECS::Entity $hp_bar;
|
||||
bool $hit_error = false;
|
||||
int $timer_seconds;
|
||||
|
||||
public:
|
||||
|
||||
GUI(SFMLBackend &backend);
|
||||
GUI(SFMLBackend &backend, int timer_seconds);
|
||||
|
||||
void output(const string msg);
|
||||
void update_status(GameEngine &game, size_t line_length, bool is_error);
|
||||
|
|
17
main.cpp
17
main.cpp
|
@ -4,16 +4,29 @@
|
|||
#include "sound.hpp"
|
||||
#include "textures.hpp"
|
||||
#include "shaders.hpp"
|
||||
#include <unistd.h>
|
||||
|
||||
int main()
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int opt = 0;
|
||||
int timer_seconds = 60 * 60;
|
||||
|
||||
while((opt = getopt(argc, argv, "-t:")) != -1) {
|
||||
switch(opt) {
|
||||
case 't':
|
||||
timer_seconds = atoi(optarg) * 60;
|
||||
fmt::println("Setting count down timer to {} seconds.", timer_seconds);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sound::init();
|
||||
shaders::init();
|
||||
textures::init();
|
||||
|
||||
GameEngine game{100};
|
||||
auto backend = SFMLBackend(game);
|
||||
GUI gui(backend);
|
||||
GUI gui(backend, timer_seconds);
|
||||
auto builder = Builder(gui, game);
|
||||
|
||||
backend.startup();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue