31 #include "hpl1/engine/graphics/GraphicsTypes.h" 32 #include "hpl1/engine/math/MathTypes.h" 33 #include "hpl1/engine/system/SystemTypes.h" 35 #include "hpl1/engine/scene/Entity3D.h" 36 #include "hpl1/engine/scene/SoundSource.h" 38 #include "hpl1/engine/game/GameTypes.h" 40 #include "hpl1/engine/game/SaveGame.h" 61 class cParticleManager;
62 class cParticleSystem3D;
64 class cPortalContainer;
65 class iRenderableContainer;
71 class cColliderEntity;
74 class cAINodeContainer;
76 class cAINodeGeneratorParams;
107 typedef cSTLIterator<cMeshEntity *, tMeshEntityList, tMeshEntityListIt> cMeshEntityIterator;
108 typedef cSTLIterator<cBillboard *, tBillboardList, tBillboardListIt> cBillboardIterator;
109 typedef cSTLIterator<iLight3D *, tLight3DList, tLight3DListIt> cLight3DListIterator;
110 typedef cSTLIterator<cParticleSystem3D *, tParticleSystem3DList, tParticleSystem3DListIt> cParticleSystem3DIterator;
111 typedef cSTLIterator<cSoundEntity *, tSoundEntityList, tSoundEntityListIt> cSoundEntityIterator;
112 typedef cSTLIterator<cBeam *, tBeamList, tBeamListIt> cBeamIterator;
129 tTempAiNodeList mlstNodes;
153 cMatrixf &GetWorldMatrix() {
return m_mtxTransform; }
154 cMatrixf &GetLocalMatrix() {
return m_mtxTransform; }
155 void SetMatrix(
const cMatrixf &a_mtxTrans) { m_mtxTransform = a_mtxTrans; }
157 tString &GetName() {
return msName; }
174 virtual int GetSaveCreatePrio();
185 tString GetName() {
return msName; }
187 bool CreateFromFile(
tString asFile);
189 void SetFileName(
const tString &asFile) { msFileName = asFile; }
190 const tString &GetFileName() {
return msFileName; }
192 void Update(
float afTimeStep);
194 void PreUpdate(
float afTotalTime,
float afTimeStep);
196 cVector3f GetWorldSize() {
return mvWorldSize; }
198 iScript *GetScript() {
return mpScript; }
199 void SetScript(
iScript *apScript) { mpScript = apScript; }
204 cPhysics *GetPhysics() {
return mpPhysics; }
205 cResources *GetResources() {
return mpResources; }
206 cSound *GetSound() {
return mpSound; }
207 cSystem *GetSystem() {
return mpSystem; }
210 const tString &asFile,
bool abLoadReferences);
220 void SetPhysicsWorld(
iPhysicsWorld *apWorld,
bool abAutoDelete =
true);
227 tAreaEntityMap *GetAreaEntityMap() {
return &m_mapAreaEntities; }
235 cMeshEntityIterator GetMeshEntityIterator();
237 void DrawMeshBoundingBoxes(
const cColor &aColor,
bool abStatic);
243 bool abAddToContainer =
true);
244 void DestroyLight(
iLight3D *apLight);
247 tLight3DList *GetLightList() {
return &mlstLights; }
249 cLight3DListIterator GetLightIterator() {
return cLight3DListIterator(&mlstLights); }
254 const tString &asMaterial =
"",
255 bool abAddToContainer =
true,
cMatrixf *apTransform = NULL);
258 cBillboardIterator GetBillboardIterator();
263 void DestroyBeam(
cBeam *apObject);
265 cBeamIterator GetBeamIterator();
275 cParticleSystem3DIterator GetParticleSystemIterator() {
return cParticleSystem3DIterator(&mlstParticleSystems); }
286 bool abRemoveWhenOver);
289 void DestroyAllSoundEntities();
292 cSoundEntityIterator GetSoundEntityIterator() {
return cSoundEntityIterator(&mlstSoundEntities); }
307 bool abNodeIsAtCenter,
308 int alMinEdges,
int alMaxEdges,
float afMaxEdgeDistance,
314 tTempAiNodeList *GetAINodeList(
const tString &asType);
324 void UpdateEntities(
float afTimeStep);
325 void UpdateBodies(
float afTimeStep);
326 void UpdateParticles(
float afTimeStep);
327 void UpdateLights(
float afTimeStep);
328 void UpdateSoundEntities(
float afTimeStep);
341 bool mbAutoDeletePhysicsWorld;
349 tLight3DList mlstLights;
350 tMeshEntityList mlstMeshEntities;
351 tBillboardList mlstBillboards;
353 tParticleSystem3DList mlstParticleSystems;
354 tColliderEntityList mlstColliders;
355 tSoundEntityList mlstSoundEntities;
356 tStartPosEntityList mlstStartPosEntities;
357 tAreaEntityMap m_mapAreaEntities;
359 tAINodeContainerList mlstAINodeContainers;
360 tAStarHandlerList mlstAStarHandlers;
361 tTempNodeContainerMap m_mapTempNodes;
371 #endif // HPL_WOLRD3D_H
Definition: World3D.h:116
Definition: Light3DPoint.h:46
Definition: Light3D.h:117
Definition: Light3DSpot.h:54
Definition: PhysicsWorld.h:115
typename TreeT::BasicIterator iterator
Definition: stablemap.h:48
Definition: ColliderEntity.h:40
Definition: SerializeClass.h:230
Definition: SaveGame.h:130
Definition: SaveGame.h:214
Definition: BillBoard.h:78
Definition: PhysicsBody.h:117
Definition: World3D.h:179
Definition: SaveGame.h:111
Definition: AINodeContainer.h:158
Definition: Container.h:219
ListInternal::Iterator< t_T > iterator
Definition: list.h:52
Definition: World3D.h:126
Definition: ParticleSystem3D.h:90
Definition: Resources.h:160
Definition: World3D.h:149
Definition: Entity3D.h:81
Definition: tinyxml.h:864
Definition: list_intern.h:51
Definition: PortalContainer.h:229
Definition: MeshEntity.h:96
Definition: SoundEntity.h:86
Definition: SaveGame.h:183
Definition: Graphics.h:46
Definition: World3D.h:137
Definition: RenderableContainer.h:41
Definition: AINodeGenerator.h:53