32 #include "object/object_create_params.h" 44 class COldModelManager;
56 FILTER_ONLYLANDING = 1 << (8+0),
57 FILTER_ONLYFLYING = 1 << (8+1),
59 FILTER_FRIENDLY = 1 << (8+2),
60 FILTER_ENEMY = 1 << (8+3),
61 FILTER_NEUTRAL = 1 << (8+4),
64 using CObjectMap = std::map<int, std::unique_ptr<CObject>>;
65 using CObjectMapCIt = std::map<int, std::unique_ptr<CObject>>::const_iterator;
73 : m_currentIt(currentIt)
76 while (m_currentIt != m_endIt && m_currentIt->second ==
nullptr)
85 return m_currentIt->second.get();
94 while (m_currentIt != m_endIt && m_currentIt->second ==
nullptr);
99 return m_currentIt == other.m_currentIt;
104 return m_currentIt != other.m_currentIt;
108 CObjectMapCIt m_currentIt;
109 CObjectMapCIt m_endIt;
119 m_activeIteratorsCounter(activeIteratorsCounter)
121 ++m_activeIteratorsCounter;
127 --m_activeIteratorsCounter;
140 const CObjectMap& m_map;
141 int& m_activeIteratorsCounter;
165 bool DeleteObject(
CObject* instance);
167 void DeleteAllObjects();
170 CObject* GetObjectById(
unsigned int id);
173 CObject* GetObjectByRank(
unsigned int id);
176 std::vector<CObject*> GetObjectsOfTeam(
int team);
179 bool TeamExists(
int team);
183 void DestroyTeam(
int team);
191 CleanRemovedObjectsIfNeeded();
197 std::vector<CObject*> RadarAll(
CObject* pThis,
201 float minDist = 0.0f,
202 float maxDist = 1000.0f,
203 bool furthest =
false,
204 RadarFilter filter = FILTER_NONE,
205 bool cbotTypes =
false);
206 std::vector<CObject*> RadarAll(
CObject* pThis,
207 std::vector<ObjectType> type = std::vector<ObjectType>(),
210 float minDist = 0.0f,
211 float maxDist = 1000.0f,
212 bool furthest =
false,
213 RadarFilter filter = FILTER_NONE,
214 bool cbotTypes =
false);
215 std::vector<CObject*> RadarAll(
CObject* pThis,
221 float minDist = 0.0f,
222 float maxDist = 1000.0f,
223 bool furthest =
false,
224 RadarFilter filter = FILTER_NONE,
225 bool cbotTypes =
false);
226 std::vector<CObject*> RadarAll(
CObject* pThis,
229 std::vector<ObjectType> type = std::vector<ObjectType>(),
232 float minDist = 0.0f,
233 float maxDist = 1000.0f,
234 bool furthest =
false,
235 RadarFilter filter = FILTER_NONE,
236 bool cbotTypes =
false);
244 float minDist = 0.0f,
245 float maxDist = 1000.0f,
246 bool furthest =
false,
247 RadarFilter filter = FILTER_NONE,
248 bool cbotTypes =
false);
250 std::vector<ObjectType> type = std::vector<ObjectType>(),
253 float minDist = 0.0f,
254 float maxDist = 1000.0f,
255 bool furthest =
false,
256 RadarFilter filter = FILTER_NONE,
257 bool cbotTypes =
false);
264 float minDist = 0.0f,
265 float maxDist = 1000.0f,
266 bool furthest =
false,
267 RadarFilter filter = FILTER_NONE,
268 bool cbotTypes =
false);
272 std::vector<ObjectType> type = std::vector<ObjectType>(),
275 float minDist = 0.0f,
276 float maxDist = 1000.0f,
277 bool furthest =
false,
278 RadarFilter filter = FILTER_NONE,
279 bool cbotTypes =
false);
285 float maxDist = 1000.0f,
286 bool cbotTypes =
false);
288 std::vector<ObjectType> type = std::vector<ObjectType>(),
289 float maxDist = 1000.0f,
290 bool cbotTypes =
false);
294 float maxDist = 1000.0f,
295 bool cbotTypes =
false);
298 std::vector<ObjectType> type = std::vector<ObjectType>(),
299 float maxDist = 1000.0f,
300 bool cbotTypes =
false);
304 void CleanRemovedObjectsIfNeeded();
307 CObjectMap m_objects;
308 std::unique_ptr<CObjectFactory> m_objectFactory;
310 int m_activeObjectIterators;
311 bool m_shouldCleanRemovedObjects;
Definition: object_manager.h:112
CSingleton base class for singletons.
Definition: singleton.h:30
Manager for static models.
Definition: oldmodelmanager.h:54
const float PI
PI.
Definition: const.h:48
Particle engine.
Definition: particle.h:223
ObjectInterfaceType
Type of interface that an object implements.
Definition: object_interface_type.h:34
CObjectContainerProxy GetAllObjects()
Returns all objects.
Definition: object_manager.h:189
ObjectInterfaceType enum.
Terrain loader/generator and manager.
Definition: terrain.h:147
Definition: object_manager.h:67
Constants used in math functions.
Namespace for (new) graphics code.
Definition: app.h:49
Vector struct and related functions.
Manager for models read from model files.
Definition: model_manager.h:34
The graphics engine.
Definition: engine.h:585
Definition: object_create_params.h:26
ObjectType
Type of game object.
Definition: object_type.h:33
3D (3x1) vector
Definition: vector.h:53
Definition: object_factory.h:48
Manages CObject instances.
Definition: object_manager.h:148
Base class for all 3D in-game objects.
Definition: object.h:63