You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <efsw/efsw.hpp>
|
|
|
|
#include "game_engine.hpp"
|
|
|
|
#include <filesystem>
|
|
|
|
#include <string>
|
|
|
|
#include <SFML/Audio.hpp>
|
|
|
|
|
|
|
|
class GUI {
|
|
|
|
vector<string> lines;
|
|
|
|
|
|
|
|
sf::Sound you_died_sound;
|
|
|
|
sf::Sound build_works_sound;
|
|
|
|
sf::Sound build_failed_sound;
|
|
|
|
sf::Sound building_sound;
|
|
|
|
sf::SoundBuffer you_died_buffer;
|
|
|
|
sf::SoundBuffer build_works_buffer;
|
|
|
|
sf::SoundBuffer build_failed_buffer;
|
|
|
|
sf::SoundBuffer building_buffer;
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
GUI();
|
|
|
|
|
|
|
|
void output(const string &msg);
|
|
|
|
|
|
|
|
int main_loop(GameEngine &game, std::function<bool()> runner);
|
|
|
|
|
|
|
|
void build_works();
|
|
|
|
void build_failed(const string &command);
|
|
|
|
void you_died();
|
|
|
|
void building();
|
|
|
|
};
|