"L. Spiro Engine"
|
00001 00018 #ifndef __LSE_2DSCENEMANAGER_H__ 00019 #define __LSE_2DSCENEMANAGER_H__ 00020 00021 #include "../LSEEngine.h" 00022 #include "../2dObjects/LSE2dObject.h" 00023 #include "../Camera/LSECamera.h" 00024 #include "SpatialPartitions/LSPQuadTree.h" 00025 #include "Vector/LSTLVector.h" 00026 00027 namespace lse { 00028 00037 class C2dSceneManager { 00038 public : 00039 // == Various constructors. 00040 LSE_CALLCTOR C2dSceneManager(); 00041 LSE_CALLCTOR ~C2dSceneManager(); 00042 00043 00044 // == Functions. 00051 LSBOOL LSE_CALL Create2dWorld( LSREAL _fSize ); 00052 00056 LSVOID LSE_CALL Reset(); 00057 00064 C2dObjectPtr LSE_CALL Create2dObject(); 00065 00071 LSVOID LSE_CALL Tick( LSUINT64 _ui64Time ); 00072 00076 LSVOID LSE_CALL Draw(); 00077 00084 LSVOID LSE_CALL SetCamPos( LSREAL _fX, LSREAL _fY ); 00085 00086 00087 protected : 00088 // == Members. 00092 CVector<CActorPtr, LSUINT32> m_vActors; 00093 00097 CCamera m_cCam; 00098 00102 CQuadTree m_qtTree; 00103 00107 CVector<CQuadTreeObject *, LSUINT32> m_vDrawnObjects; 00108 }; 00109 00110 00111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00112 // DEFINITIONS 00113 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00114 00115 00116 } // namespace lse 00117 00118 #endif // __LSE_2DSCENEMANAGER_H__