#ifndef IGAMEUI_H #define IGAMEUI_H #ifdef _WIN32 #pragma once #endif #include "interface.h" #include "IPanel.h" #if !defined( _X360 ) #include "xboxstubs.h" #endif enum ESteamLoginFailure { STEAMLOGINFAILURE_NONE, STEAMLOGINFAILURE_BADTICKET, STEAMLOGINFAILURE_NOSTEAMLOGIN, STEAMLOGINFAILURE_VACBANNED, STEAMLOGINFAILURE_LOGGED_IN_ELSEWHERE }; enum ESystemNotify { SYSTEMNOTIFY_STORAGEDEVICES_CHANGED, SYSTEMNOTIFY_USER_SIGNEDIN, SYSTEMNOTIFY_USER_SIGNEDOUT, SYSTEMNOTIFY_XUIOPENING, SYSTEMNOTIFY_XUICLOSED, SYSTEMNOTIFY_INVITE_SHUTDOWN, }; abstract_class IGameUI { public: virtual void Initialize(CreateInterfaceFn appFactory) = 0; virtual void PostInit() = 0; virtual void Connect(CreateInterfaceFn gameFactory) = 0; virtual void Start() = 0; virtual void Shutdown() = 0; virtual void RunFrame() = 0; virtual void OnGameUIActivated() = 0; virtual void OnGameUIHidden() = 0; virtual void OLD_OnConnectToServer(const char* game, int IP, int port) = 0; virtual void OnDisconnectFromServer_OLD(uint8 eSteamLoginFailure, const char* username) = 0; virtual void OnLevelLoadingStarted(bool bShowProgressDialog) = 0; virtual void OnLevelLoadingFinished(bool bError, const char* failureReason, const char* extendedReason) = 0; virtual bool UpdateProgressBar(float progress, const char* statusText) = 0; virtual bool SetShowProgressText(bool show) = 0; virtual void ShowNewGameDialog(int chapter) = 0; virtual void SessionNotification(const int notification, const int param = 0) = 0; virtual void SystemNotification(const int notification) = 0; virtual void ShowMessageDialog(const uint nType, vgui::Panel* pOwner) = 0; virtual void UpdatePlayerInfo(uint64 nPlayerId, const char* pName, int nTeam, byte cVoiceState, int nPlayersNeeded, bool bHost) = 0; virtual void SessionSearchResult(int searchIdx, void* pHostData, XSESSION_SEARCHRESULT* pResult, int ping) = 0; virtual void OnCreditsFinished(void) = 0; virtual void SetLoadingBackgroundDialog(vgui::VPANEL panel) = 0; virtual void BonusMapUnlock(const char* pchFileName = NULL, const char* pchMapName = NULL) = 0; virtual void BonusMapComplete(const char* pchFileName = NULL, const char* pchMapName = NULL) = 0; virtual void BonusMapChallengeUpdate(const char* pchFileName, const char* pchMapName, const char* pchChallengeName, int iBest) = 0; virtual void BonusMapChallengeNames(char* pchFileName, char* pchMapName, char* pchChallengeName) = 0; virtual void BonusMapChallengeObjectives(int& iBronze, int& iSilver, int& iGold) = 0; virtual void BonusMapDatabaseSave(void) = 0; virtual int BonusMapNumAdvancedCompleted(void) = 0; virtual void BonusMapNumMedals(int piNumMedals[3]) = 0; virtual void OnConnectToServer2(const char* game, int IP, int connectionPort, int queryPort) = 0; virtual bool ValidateStorageDevice(int* pStorageDeviceValidated) = 0; virtual void SetProgressOnStart() = 0; virtual void OnDisconnectFromServer(uint8 eSteamLoginFailure) = 0; virtual void OnConfirmQuit(void) = 0; virtual bool IsMainMenuVisible(void) = 0; virtual void SetMainMenuOverride(vgui::VPANEL panel) = 0; virtual void SendMainMenuCommand(const char* pszCommand) = 0; }; #define GAMEUI_INTERFACE_VERSION "GameUI011" #endif