Seaside/SpyCustom/IGameUI.h
2021-06-16 16:10:20 +03:00

94 lines
3.3 KiB
C

#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