2022-05-09 01:50:09 -04:00
|
|
|
#include <vector>
|
|
|
|
#include <string>
|
|
|
|
#include <Parser.h>
|
|
|
|
#include <SDL2/SDL.h>
|
|
|
|
|
|
|
|
namespace ADVect {
|
|
|
|
class Game {
|
|
|
|
public:
|
2022-05-09 03:46:44 -04:00
|
|
|
Game(std::string name, std::vector<NVL::Parse::Scene>& scenes);
|
2022-05-09 01:50:09 -04:00
|
|
|
~Game();
|
|
|
|
void Run();
|
2022-05-09 03:46:44 -04:00
|
|
|
void Update();
|
2022-05-09 01:50:09 -04:00
|
|
|
void Render();
|
2022-05-09 03:46:44 -04:00
|
|
|
|
|
|
|
void Advance();
|
2022-05-09 01:50:09 -04:00
|
|
|
private:
|
|
|
|
SDL_Window* m_window;
|
|
|
|
std::string m_name;
|
|
|
|
bool m_running;
|
|
|
|
|
2022-05-09 03:46:44 -04:00
|
|
|
int m_keys[65536] = {};
|
|
|
|
|
2022-05-09 01:50:09 -04:00
|
|
|
SDL_Surface* m_surface;
|
|
|
|
|
|
|
|
std::vector<NVL::Parse::Scene>& m_scenes;
|
2022-05-09 03:46:44 -04:00
|
|
|
int m_current_scene;
|
|
|
|
std::string m_text;
|
|
|
|
std::string m_speaker;
|
|
|
|
int m_scene_pos;
|
2022-05-09 01:50:09 -04:00
|
|
|
};
|
|
|
|
}
|