Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

GXEntityList.h

Go to the documentation of this file.
00001 #ifndef __ENTITYLIST
00002 #define __ENTITYLIST
00003 
00004 
00005 #include "GXStandardDefines.h"
00006 #include "GXSizeableArray.h"
00007 #include "GXVector.h"
00008 #include "GXEntityWaypoint.h"
00009 #include "GXModelManager.h"
00010 #include "GXDeviceContainer.h"
00011 #include "GXBitmapLand.h"
00012 //#include "GXExports.h"
00013 
00014 
00015 
00016 struct SGXEntityEntry
00017 {
00018         SGXEntityWaypoints  Waypoint;
00019         bool                            bAssigned;
00020 };
00021 
00022 
00023 
00024 
00025 class CGXEntityList
00026 {
00027 public:
00028         CGXEntityList();
00029         ~CGXEntityList();
00030 
00031         void    Cleanup();
00032 
00033         int             CreateEntity(UINT nModel);//-1 on error
00034         bool    DeleteEntity(UINT nEntityID);
00035 
00036         bool    GetEntityWaypoint(UINT uID, SGXEntityWaypoints* pOut);
00037         bool    SetEntityWaypoint(UINT uID, SGXEntityWaypoints* pIn);
00038 
00039         bool    RenderModels(CGXModelManager* pModels,
00040                                                 UINT uTime,
00041                                                 CGXBitmapLand* pLand,//for height callback 
00042                                                 D3DXVECTOR4* pEye,
00043                                                 D3DXVECTOR4* pLightDir, 
00044                                                 D3DXMATRIX* pViewProj);
00045 
00046         void    GetEntitiesInScreenBox(D3DXVECTOR2& vUpperLeft, D3DXVECTOR2& vLowerRight, 
00047                                                                         float fMaxZ, UINT uTime, 
00048                                                                         CGXBitmapLand* pLand, 
00049                                                                         D3DVIEWPORT8* pViewPort, D3DXMATRIX* pProj,
00050                                                                         D3DXMATRIX* pViewMatrix, D3DXMATRIX* pWorldMatrix,
00051                                                                         void (*pCallBack)(UINT));
00052 
00053         bool    GetEntityScreenSpaceCoord(UINT uEntity, UINT uTime, 
00054                                                                         CGXBitmapLand* pLand, D3DXVECTOR3* pOut,
00055                                                                         D3DVIEWPORT8* pViewPort, D3DXMATRIX* pProj,
00056                                                                         D3DXMATRIX* pViewMatrix, D3DXMATRIX* pWorldMatrix);
00057 
00058         bool    GetEntityPos(UINT uEntity, UINT uTime,
00059                                                 CGXBitmapLand* pLand, D3DXVECTOR3* pOut,
00060                                                 UINT* pModel);//last one is optional
00061 
00062 
00063 protected:
00064         CGXSizeableArray<SGXEntityEntry> m_Entities;
00065 
00066 };
00067 
00068 
00069 void GXWaypointZeroer(SGXEntityEntry* pInOut);
00070 
00071 
00072 
00073 
00074 
00075 
00076 
00077 #endif

Generated on Thu May 23 17:51:00 2002 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001