Building Game Engines
GameManager.hpp
Go to the documentation of this file.
1 #ifndef GAME_MANAGER_HPP
2 #define GAME_MANAGER_HPP
3 
4 #include <SDL2/SDL.h>
5 #include <SDL2/SDL_ttf.h>
6 #include <vector>
7 #include <iostream>
8 #include <fstream>
9 
10 #include "GameObject.hpp"
12 #include "CollectibleComponent.hpp"
13 #include "TransformComponent.hpp"
14 
15 // Manages all the resources in the game
16 class GameManager {
17  public:
26  void Start(GameObject* player, TileMap* tileMap, std::vector<GameObject*> Fruits, std::vector<GameObject*> Ai, SDL_Renderer* m_renderer);
27  void Start(GameObject* player, TileMap* tileMap, SDL_Renderer* m_renderer);
32  void Update();
36  void Render();
40  void Stop();
41 
45  void SaveCollectibles(const char* filename);
46 
50  void SaveEnemies(const char* filename);
51 
55  void AddEnemy(GameObject* enemy);
56 
61  int NumCollectibles();
62 
66  int NumEnemies();
67 
71  void AddCollectible(GameObject* collectible);
75  std::vector<GameObject*> Fruits;
79  std::vector<GameObject*> Ai;
84 
89  private:
94  int Score;
95  bool win;
99  GameObject* player;
103  TileMap* tileMap;
107  //std::vector<GameObject*> Fruits;
111  //std::vector<GameObject*> Ai;
115  SDL_Renderer* m_renderer;
119  SDL_Surface* surface{};
123  SDL_Texture* texture{};
127  SDL_Rect rect{};
131  TTF_Font* scoreFont;
132 
133 
134 };
135 #endif
void AddEnemy(GameObject *enemy)
Definition: GameManager.cpp:55
void AddCollectible(GameObject *collectible)
Definition: GameManager.cpp:51
GameManager()
Definition: GameManager.hpp:83
void SaveEnemies(const char *filename)
Definition: GameManager.cpp:212
void Render()
Definition: GameManager.cpp:162
void Update()
Definition: GameManager.cpp:68
std::vector< GameObject * > Ai
Definition: GameManager.hpp:79
int NumEnemies()
Definition: GameManager.cpp:64
Definition: GameObject.hpp:16
~GameManager()
Definition: GameManager.hpp:88
void Stop()
Definition: GameManager.cpp:185
void SaveCollectibles(const char *filename)
Definition: GameManager.cpp:190
void Start(GameObject *player, TileMap *tileMap, std::vector< GameObject *> Fruits, std::vector< GameObject *> Ai, SDL_Renderer *m_renderer)
Definition: GameManager.cpp:5
std::vector< GameObject * > Fruits
Definition: GameManager.hpp:75
Definition: GameManager.hpp:16
int NumCollectibles()
Definition: GameManager.cpp:59
Definition: TileMap.hpp:14