#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