improvements
This commit is contained in:
0
engine/assetmgr.cpp
Normal file
0
engine/assetmgr.cpp
Normal file
72
engine/gamemgr.cpp
Normal file
72
engine/gamemgr.cpp
Normal file
@@ -0,0 +1,72 @@
|
||||
#include "igamemgr.h"
|
||||
#include "tier0/platform.h"
|
||||
#include "tier1/interface.h"
|
||||
#include "tier2/ifilesystem.h"
|
||||
#include "tier2/fileformats/ini.h"
|
||||
|
||||
abstract_class CGame: public IGame {
|
||||
public:
|
||||
virtual void Load() override;
|
||||
|
||||
virtual void GameFrame() override;
|
||||
private:
|
||||
void *m_pLibrary;
|
||||
};
|
||||
|
||||
abstract_class CGameManager: public IGameManager
|
||||
{
|
||||
public:
|
||||
virtual void Init() override;
|
||||
virtual void Shutdown() override;
|
||||
virtual IGame *LoadGame( const char *szGameName ) override;
|
||||
virtual IGameMod *LoadGlobalMod( const char *szModName ) override;
|
||||
|
||||
private:
|
||||
IINIFile *g_pGameParameters;
|
||||
};
|
||||
|
||||
void CGameManager::Init()
|
||||
{
|
||||
IFileHandle *pFile;
|
||||
size_t nDataSize = 0;
|
||||
CUtlBuffer<char> szData;
|
||||
|
||||
IINISection *pMainGame;
|
||||
|
||||
CUtlString sz;
|
||||
|
||||
pFile = filesystem->Open("game.ini", FILEMODE_READ);
|
||||
szData = CUtlBuffer<char>(pFile->Size());
|
||||
pFile->Read(szData.GetMemory(), szData.GetSize());
|
||||
pFile->Close();
|
||||
|
||||
g_pGameParameters= INIManager()->ReadString(szData);
|
||||
pMainGame = g_pGameParameters->GetSection("MainGame");
|
||||
|
||||
LoadGame(pMainGame->GetStringValue("path"));
|
||||
}
|
||||
|
||||
void CGameManager::Shutdown()
|
||||
{
|
||||
INIManager()->ReleaseFile(g_pGameParameters);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Load all the packages
|
||||
//-----------------------------------------------------------------------------
|
||||
IGame *CGameManager::LoadGame( const char *szGameName )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
IGameMod *CGameManager::LoadGlobalMod( const char *szModName )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
IGameManager *GameManager()
|
||||
{
|
||||
static CGameManager manager;
|
||||
return (IGameManager*)&manager;
|
||||
}
|
||||
Reference in New Issue
Block a user