Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

EngineCore.h

00001 
00002 #ifndef __ENGINECORE_H_
00003 #define __ENGINECORE_H_
00004 /*
00005 Peon - Win32 Games Programming Library
00006 Copyright (C) 2002-2005 Erik Yuzwa
00007 
00008 This library is free software; you can redistribute it and/or
00009 modify it under the terms of the GNU Library General Public
00010 License as published by the Free Software Foundation; either
00011 version 2 of the License, or (at your option) any later version.
00012 
00013 This library is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016 Library General Public License for more details.
00017 
00018 You should have received a copy of the GNU Library General Public
00019 License along with this library; if not, write to the Free
00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00021 
00022 Erik Yuzwa
00023 peon AT wazooinc DOT com
00024 */
00025 
00026 #include "ISingleton.h"
00027 #include "Timer.h"
00028 #include "SceneRenderer.h"
00029 #include "AudioEngine.h"
00030 #include "InputEngine.h"
00031 #include "IApplication.h"
00032 
00033 namespace peon
00034 {
00042         class PEONMAIN_API EngineCore : ISingleton<EngineCore>
00043         {
00044         public:
00046                 IniConfigReader*        m_pConfig;
00047 
00049                 IApplication*       m_pApplication;
00050 
00052                 SceneRenderer*          m_pVideoDevice;
00053 
00055                 Timer                           m_oTimer;
00056 
00058                 float                           m_fps;
00059 
00060                 
00061 
00062         protected:
00066                 void updateFPS();
00067 
00068         public:
00072                 EngineCore();
00073 
00077                 ~EngineCore();
00078 
00094                 static EngineCore& getSingleton(void);
00110                 static EngineCore* getSingletonPtr(void);
00111 
00119                 bool loadEngine( const String& strWindowTitle, const String& strIniConfig );
00120 
00124                 void unloadEngine();
00125 
00131                 int runEngine();
00132 
00137                 bool setApplication( IApplication* pApplication );
00138 
00143                 SceneRenderer* getRenderer(){ return m_pVideoDevice; }
00144 
00149                 IApplication* getApplication(){ return m_pApplication; }
00150 
00151 
00152         };
00153 }
00154 
00155 #endif
00156 

Generated on Thu Dec 1 01:55:40 2005 for Peon by  doxygen 1.4.1