forked from JohnAnthony/TROG
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gui.hpp
53 lines (49 loc) · 1.67 KB
/
gui.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef GUI_H
#define GUI_H
#include "game.hpp"
#include "character.hpp"
#include "geometry.hpp"
#include <string>
#include <list>
class GUI {
public:
static void Init(void);
static void End(void);
static void AttachTo(Game *g);
static void SetStatus(std::string);
static void RedrawStatus(void);
static void AddMessage(std::string str);
static void ProcessMessages(Game *g);
static Character* CharacterCreation(void);
static Character::Race SelectRace(void);
static Character::Class SelectClass(void);
static std::string GetString(std::string prompt);
static void ShowSplash(void);
static void ShowSplash(Color col);
static void StartScreen(void);
static void ScreenNoise(void);
static WINDOW* NewCentredWindow(int w, int h);
static void Alert(std::string str);
static void Alert2(char const * const * const msg);
static bool BinaryChoice(std::string str, char a, char b);
static void FancyClear(void);
static void ShowCharacterScreen(Character *c);
static void ShowInventoryScreen(Character *c);
static void CharacterStatusLine(Character *c);
static void ShowInfoScreen(Game *g);
static void QuitDialogue(Game *g);
static void DrawAsOverlay(Point p, char c, int col);
static bool isOnScreen(Point p);
static void MoveCamera(Direction::Type d);
static void DoRedraw(void);
static void DrawLevel(Level *l);
static void DrawObjectRelative(Point p, char c);
static void CentreCam(Point p);
private:
static Game *g;
static std::string status_line;
static std::vector<std::string> messages;
static const char* SplashStr;
static Point cam;
};
#endif