Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members |
00001 // Copyright (c) 2007-2008 Tomer Nosrati 00002 // This file is part of the "NUSoftware Game Engine". 00003 // For conditions of distribution and use, see copyright notice in nge.hpp 00004 00005 #pragma once 00006 #ifndef __LEVEL_H__ 00007 #define __LEVEL_H__ 00008 00009 #include "GameManager.hpp" 00010 #include "EDebugLevelTypes.hpp" 00011 #include "IWorldLevelNode.hpp" 00012 #include "IZoneGroupLevelNode.hpp" 00013 #include "IZoneLevelNode.hpp" 00014 00015 namespace nge 00016 { 00017 namespace game 00018 { 00019 00021 00024 class Level : public virtual IReferenceCounted 00025 { 00026 public: 00028 Level(GameManager* pMngr); 00029 00031 virtual ~Level(); 00032 00034 virtual void init(); 00035 00037 virtual void load() = 0; 00038 00040 virtual void clear(); 00041 00043 00044 virtual void run(); 00045 00046 virtual void OnEvent(const NGEReceiver* event); 00047 00049 virtual ILevelManager* getLevelGraph() const; 00050 00052 virtual void setLevelSpeed(f32 speed = 1.f); 00053 00055 virtual f32 getLevelSpeed(); 00056 00058 virtual void pauseLevel(); 00059 00061 virtual void resumeLevel(); 00062 00064 virtual bool isPaused(); 00065 00066 virtual void drawLoadingPercentages(s32 Loading_Percent = 0, const wchar_t* msg = L"Loading, Please wait..."); 00067 00068 protected: 00070 00071 virtual void OnPause(); 00072 00073 GameManager* m_pManager; 00074 ILevelManager* m_pLevelGraph; 00075 ITexture* m_pLastShot; 00076 array<E_DEBUG_LEVEL_TYPE> m_aDebugData; 00077 bool m_IsPaused; 00078 f32 m_LevelSpeed; 00079 f32 m_LastLevelSpeed; 00080 }; 00081 00082 } // namespace game 00083 } // namespace nge 00084 00085 #endif // __LEVEL_H__
The NUSoftware Game Engine Documentation © 2007-2008 by Tomer Nosrati. Generated
on Sat Apr 26 16:52:34 2008 by Doxygen
(1.5.5) |