2021-12-25 22:36:38 +01:00
|
|
|
#pragma once
|
|
|
|
#ifndef DEDICATED
|
2022-04-26 20:24:51 +02:00
|
|
|
#include "common/sdkdefs.h"
|
|
|
|
#include "windows/resource.h"
|
2021-12-25 22:36:38 +01:00
|
|
|
#include "networksystem/serverlisting.h"
|
2022-07-01 10:29:27 +02:00
|
|
|
#include "networksystem/pylon.h"
|
2022-08-14 15:43:49 +02:00
|
|
|
#include "public/isurfacesystem.h"
|
2022-08-22 01:10:18 +02:00
|
|
|
#include "thirdparty/imgui/include/imgui_utility.h"
|
2021-12-25 22:36:38 +01:00
|
|
|
|
2022-08-14 15:43:49 +02:00
|
|
|
class CBrowser : public ISurface
|
2022-01-15 17:57:18 +00:00
|
|
|
{
|
|
|
|
public:
|
2022-05-27 02:44:36 +02:00
|
|
|
CBrowser(void);
|
2022-08-14 15:43:49 +02:00
|
|
|
virtual ~CBrowser(void);
|
2021-12-25 22:36:38 +01:00
|
|
|
|
2022-08-14 15:43:49 +02:00
|
|
|
virtual bool Init(void);
|
|
|
|
virtual void Think(void);
|
2022-06-09 02:22:01 +02:00
|
|
|
|
2022-08-14 15:43:49 +02:00
|
|
|
virtual void RunFrame(void);
|
2022-08-20 01:48:42 +02:00
|
|
|
virtual void RunTask(void){};
|
|
|
|
|
2022-08-14 15:43:49 +02:00
|
|
|
virtual void DrawSurface(void);
|
2022-01-12 02:53:07 +01:00
|
|
|
|
2022-06-27 15:01:39 +02:00
|
|
|
void BrowserPanel(void);
|
2022-03-04 12:22:17 +01:00
|
|
|
void RefreshServerList(void);
|
2022-01-12 02:53:07 +01:00
|
|
|
|
2022-03-04 12:22:17 +01:00
|
|
|
void HiddenServersModal(void);
|
2022-06-27 15:01:39 +02:00
|
|
|
void HostPanel(void);
|
2022-01-12 02:53:07 +01:00
|
|
|
|
2022-03-04 12:22:17 +01:00
|
|
|
void UpdateHostingStatus(void);
|
|
|
|
void SendHostingPostRequest(void);
|
2022-01-12 02:53:07 +01:00
|
|
|
|
2022-08-14 15:43:49 +02:00
|
|
|
void ProcessCommand(const char* pszCommand) const;
|
2022-06-27 15:01:39 +02:00
|
|
|
void SettingsPanel(void);
|
2022-01-12 02:53:07 +01:00
|
|
|
|
2022-08-14 15:43:49 +02:00
|
|
|
virtual void SetStyleVar(void);
|
2022-01-12 02:53:07 +01:00
|
|
|
|
|
|
|
|
2022-08-14 15:43:49 +02:00
|
|
|
const char* m_pszBrowserTitle = nullptr;
|
|
|
|
bool m_bActivate = false;
|
|
|
|
private:
|
|
|
|
bool m_bInitialized = false;
|
2022-05-27 02:39:08 +02:00
|
|
|
char m_szServerAddressBuffer[256] = { '\0' };
|
|
|
|
char m_szServerEncKeyBuffer[30] = { '\0' };
|
2022-08-14 15:43:49 +02:00
|
|
|
float m_flFadeAlpha = 0.f;
|
|
|
|
|
2022-08-22 01:10:18 +02:00
|
|
|
ImGuiStyle_t m_Style = ImGuiStyle_t::NONE;
|
2022-08-14 15:43:49 +02:00
|
|
|
ID3D11ShaderResourceView* m_idLockedIcon = nullptr;
|
|
|
|
MODULERESOURCE m_rLockedIconBlob;
|
2021-12-25 22:36:38 +01:00
|
|
|
|
|
|
|
////////////////////
|
2022-08-14 15:43:49 +02:00
|
|
|
// Server List //
|
2021-12-25 22:36:38 +01:00
|
|
|
////////////////////
|
2022-08-14 15:43:49 +02:00
|
|
|
ImGuiTextFilter m_imServerBrowserFilter;
|
|
|
|
string m_svServerListMessage;
|
2022-05-27 02:39:08 +02:00
|
|
|
string m_szMatchmakingHostName;
|
2021-12-25 22:36:38 +01:00
|
|
|
|
|
|
|
////////////////////
|
|
|
|
// Host Server //
|
|
|
|
////////////////////
|
2022-05-27 02:39:08 +02:00
|
|
|
string m_svHostRequestMessage;
|
|
|
|
string m_svHostToken;
|
2022-06-27 16:54:40 +02:00
|
|
|
ImVec4 m_HostRequestMessageColor = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
|
2021-12-25 22:36:38 +01:00
|
|
|
|
|
|
|
////////////////////
|
|
|
|
// Private Server //
|
|
|
|
////////////////////
|
2022-05-27 02:39:08 +02:00
|
|
|
string m_svHiddenServerToken;
|
|
|
|
string m_svHiddenServerRequestMessage;
|
2022-08-14 15:43:49 +02:00
|
|
|
ImVec4 m_ivHiddenServerMessageColor = ImVec4(0.00f, 1.00f, 0.00f, 1.00f);
|
2021-12-25 22:36:38 +01:00
|
|
|
};
|
|
|
|
|
2022-05-27 02:44:36 +02:00
|
|
|
extern CBrowser* g_pBrowser;
|
2022-01-15 15:25:19 +01:00
|
|
|
#endif
|