1 /*
2 Copyright © 2013 Stefan Beller
3 Copyright © 2015 Justin Jacobs
4 
5 This file is part of FLARE.
6 
7 FLARE is free software: you can redistribute it and/or modify it under the terms
8 of the GNU General Public License as published by the Free Software Foundation,
9 either version 3 of the License, or (at your option) any later version.
10 
11 FLARE is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 PARTICULAR PURPOSE.  See the GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License along with
16 FLARE.  If not, see http://www.gnu.org/licenses/
17 */
18 
19 #ifndef SHAREDGAMEOBJECTS_H
20 #define SHAREDGAMEOBJECTS_H
21 
22 class Avatar;
23 class CampaignManager;
24 class EnemyGroupManager;
25 class EntityManager;
26 class HazardManager;
27 class ItemManager;
28 class LootManager;
29 class MapRenderer;
30 class MenuActionBar;
31 class MenuManager;
32 class MenuPowers;
33 class NPCManager;
34 class PowerManager;
35 
36 /* These objects are created in the GameStatePlay constructor and deleted in the GameStatePlay destructor
37 *  so can be accessed safely anywhere in between. The objects must not be changed by any other class.
38 */
39 extern Avatar *pc;
40 extern CampaignManager *camp;
41 extern EnemyGroupManager *enemyg;
42 extern EntityManager *entitym;
43 extern HazardManager *hazards;
44 extern ItemManager *items;
45 extern LootManager *loot;
46 extern MapRenderer *mapr;
47 extern MenuActionBar *menu_act;
48 extern MenuManager *menu;
49 extern MenuPowers *menu_powers;
50 extern NPCManager *npcs;
51 extern PowerManager *powers;
52 
53 #endif // SHAREDGAMEOBJECTS_H
54