Robot Devastation
ManagerHub.hpp
1 // Authors: see AUTHORS.md at project root.
2 // CopyPolicy: released under the terms of the LGPLv2.1, see LICENSE at project root.
3 // URL: https://github.com/asrob-uc3m/robotDevastation
4 
5 #ifndef __RD_MANAGER_HUB_HPP__
6 #define __RD_MANAGER_HUB_HPP__
7 
8 #include "ImageManager.hpp"
9 #include "InputManager.hpp"
10 #include "MentalMap.hpp"
11 #include "NetworkManager.hpp"
12 #include "IRobotManager.hpp"
13 #include "AudioManager.hpp"
14 #include "ScreenManager.hpp"
15 
16 namespace rd{
17 
29 {
30  public:
31  ManagerHub();
32 
33  ManagerHub(NetworkManager * networkManager, ImageManager * imageManager,
34  InputManager * inputManager, MentalMap * mentalMap,
35  asrob::IRobotManager * robotManager, AudioManager * audioManager,
36  ScreenManager * screenManager);
37 
38  bool setNetworkManager(NetworkManager * networkManager);
39  bool setImageManager(ImageManager * imageManager);
40  bool setInputManager(InputManager * inputManager);
41  bool setMentalMap(MentalMap * mentalMap);
42  bool setRobotManager(asrob::IRobotManager * robotManager);
43  bool setAudioManager(AudioManager * audioManager);
44  bool setScreenManager(ScreenManager * screenManager);
45 
46  protected:
47  //-- Pointers to everything important in the game:
48  NetworkManager * networkManager;
49  ImageManager * imageManager;
50  InputManager * inputManager;
51  MentalMap * mentalMap;
52  asrob::IRobotManager * robotManager;
53  AudioManager * audioManager;
54  ScreenManager * screenManager;
55 };
56 
57 }
58 
59 #endif //-- __RD_MANAGER_HUB_HPP__
rd::MentalMap
Mental map is a repository for information about the players, targets and weapons.
Definition: MentalMap.hpp:38
rd::AudioManager
Music and sound effects manager.
Definition: AudioManager.hpp:28
rd
The main, catch-all namespace for Robot Devastation.
Definition: groups.dox:4
rd::InputManager
User input manager (keyboard, mouse, joysticks, etc)
Definition: InputManager.hpp:35
rd::ManagerHub
A classs to interface all the robotDevastation managers. As some classes, such as the game states,...
Definition: ManagerHub.hpp:28
rd::ScreenManager
Manage game screens.
Definition: ScreenManager.hpp:35
rd::NetworkManager
Manages the communications between the user and the RobotDevastation network.
Definition: NetworkManager.hpp:37
rd::ImageManager
Generic image input manager.
Definition: ImageManager.hpp:39