Emergency 20 Dokumentation  4.2.0
CommandTargetManager.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2018 Promotion Software GmbH
2 
3 
4 //[-------------------------------------------------------]
5 //[ Header guard ]
6 //[-------------------------------------------------------]
7 #pragma once
8 
9 
10 //[-------------------------------------------------------]
11 //[ Includes ]
12 //[-------------------------------------------------------]
14 
15 #include <glm/fwd.hpp>
16 
17 #include <vector>
18 #include <string>
19 
20 
21 //[-------------------------------------------------------]
22 //[ Forward declarations ]
23 //[-------------------------------------------------------]
24 namespace qsf
25 {
26  class GridSceneManager;
27 }
28 namespace Ogre
29 {
30  class ManualObject;
31 }
32 
33 
34 //[-------------------------------------------------------]
35 //[ Namespace ]
36 //[-------------------------------------------------------]
37 namespace em5
38 {
39 
40 
41  //[-------------------------------------------------------]
42  //[ Classes ]
43  //[-------------------------------------------------------]
49  {
50 
51 
52  //[-------------------------------------------------------]
53  //[ Friends ]
54  //[-------------------------------------------------------]
55  friend class CommandTargetComponent;
56 
57 
58  //[-------------------------------------------------------]
59  //[ Public methods ]
60  //[-------------------------------------------------------]
61  public:
62  explicit CommandTargetManager(qsf::GridSceneManager& gridSceneManager);
63  virtual ~CommandTargetManager();
64 
65 
66  //[-------------------------------------------------------]
67  //[ Private methods ]
68  //[-------------------------------------------------------]
69  private:
82  Ogre::ManualObject* rentOgreManualObject(const std::string& iconName, const glm::vec2& clipSpaceSize);
83 
91  void returnRentedOgreManualObject(Ogre::ManualObject& ogreManualObject);
92 
93 
94  //[-------------------------------------------------------]
95  //[ Private data ]
96  //[-------------------------------------------------------]
97  private:
98  qsf::GridSceneManager& mGridSceneManager;
99  std::vector<Ogre::ManualObject*> mFreeOgreManualObjects;
100  uint32 mNumberOfCreatedOgreManualObjects;
101 
102 
103  };
104 
105 
106 //[-------------------------------------------------------]
107 //[ Namespace ]
108 //[-------------------------------------------------------]
109 } // em5
Definition: ActionPriority.h:13
unsigned int uint32
Definition: PlatformTypes.h:181
CommandTargetManager(qsf::GridSceneManager &gridSceneManager)
Abstract manager interface.
Definition: Manager.h:40
Definition: PickupPersonByParamedicAction.h:21
Specialized QSF OGRE scene manager.
Definition: GridSceneManager.h:54
Definition: BuildingClippingManager.h:23
EMERGENCY 5 command target component.
Definition: CommandTargetComponent.h:45
EMERGENCY 5 command target manager.
Definition: CommandTargetManager.h:48