1 #ifndef __GAME_H
2 #define __GAME_H
3 
4 #include <SDL.h>
5 #include <string>
6 
7 using namespace std;
8 
9 class ActorManager;
10 class RenderManager;
11 class TimeManager;
12 class ControlManager;
13 class CollisionManager;
14 class FontManager;
15 class Collision;
16 
17 //Clase principal donde se mantiene todos los manager
18 //Se modifica la main que es donde empieza el juego
19 class Game
20 {
21 	public:
22 		Game();
23 		virtual ~Game();
24 
25 		ActorManager *actormanager;
26 		RenderManager *rendermanager;
27 		TimeManager *timemanager;
28 		ControlManager *controlmanager;
29 		CollisionManager *collisionmanager;
30 		FontManager *fontmanager;
31 
32 		virtual int init(int w,int h,int col);
33 		virtual void main();
34 		void setName(const string name);
getName()35 		string getName()const{return name;}
36 		void setIcon(const string icon);
getIcon()37 		string getIcon()const{return icon;}
38 
39 		void setEnd(int v=0){end=1;returnvalue=v;}
40 		typedef int team_t;
41 
getCollision(Collision & c)42 		virtual void getCollision(Collision &c){}
43 
44 	protected:
45 		bool end;
46 		int returnvalue;
47 		string name;
48 		string icon;
load()49 		virtual void load(){}
logicgame()50 		virtual void logicgame(){}
unload()51 		virtual void unload(){}
52 
53 	private:
54 		void start();
55 		void shutdown(string message="Gracias por jugar");
56 		void update();
57 		virtual void create_actormanager();
58 		virtual void create_rendermanager(int w,int h,int col);
59 		virtual void create_timemanager();
60 		virtual void create_controlmanager();
61 		virtual void create_collisionmanager();
62 		virtual void create_fontmanager();
63 };
64 
65 #endif
66