40 lines
640 B
C++
40 lines
640 B
C++
#ifndef GAME_MGR_H
|
|
#define GAME_MGR_H
|
|
|
|
#include "tier2/iappsystem.h"
|
|
|
|
abstract_class IGameBase: public IAppSystem {
|
|
public:
|
|
virtual void Load() = 0;
|
|
|
|
virtual void GameFrame() = 0;
|
|
|
|
virtual const char *GetAssetDirectory();
|
|
};
|
|
|
|
abstract_class IGameMod: public IGameBase
|
|
{
|
|
|
|
};
|
|
|
|
abstract_class IGame: public IGameBase
|
|
{
|
|
public:
|
|
virtual IGameMod *LoadLocalMod( const char *szModName ) = 0;
|
|
|
|
private:
|
|
void *m_pLibrary;
|
|
};
|
|
|
|
abstract_class IGameManager: public IAppSystem
|
|
{
|
|
public:
|
|
virtual IGame *LoadGame( const char *szGameName ) = 0;
|
|
virtual IGameMod *LoadGlobalMod( const char *szModName ) = 0;
|
|
};
|
|
|
|
|
|
IGameManager *GameManager();
|
|
|
|
#endif
|