Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members

Level.hpp

Go to the documentation of this file.
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
The NUSoftware Game Engine Documentation © 2007-2008 by Tomer Nosrati. Generated on Sat Apr 26 16:52:34 2008 by Doxygen (1.5.5)