You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.1 KiB
89 lines
2.1 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// $Workfile: $
|
||
|
// $Date: $
|
||
|
// $NoKeywords: $
|
||
|
//===========================================================================//
|
||
|
#ifndef CMAINPANEL_H
|
||
|
#define CMAINPANEL_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include <vgui_controls/Frame.h>
|
||
|
#include <vgui_controls/Panel.h>
|
||
|
#include <vgui_controls/ListPanel.h>
|
||
|
#include <vgui_controls/PHandle.h>
|
||
|
#include "utlvector.h"
|
||
|
|
||
|
//#include <GamePanelInfo.h>
|
||
|
|
||
|
#include "imanageserver.h"
|
||
|
//#include "gameserver.h"
|
||
|
#include "CreateMultiplayerGameServerPage.h"
|
||
|
|
||
|
class IAdminServer;
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: Root panel for dedicated server GUI
|
||
|
//-----------------------------------------------------------------------------
|
||
|
class CMainPanel : public vgui::Panel
|
||
|
{
|
||
|
public:
|
||
|
// Construction/destruction
|
||
|
CMainPanel( );
|
||
|
virtual ~CMainPanel();
|
||
|
|
||
|
virtual void Initialize( );
|
||
|
|
||
|
// displays the dialog, moves it into focus, updates if it has to
|
||
|
virtual void Open( void );
|
||
|
|
||
|
// returns a pointer to a static instance of this dialog
|
||
|
// valid for use only in sort functions
|
||
|
static CMainPanel *GetInstance();
|
||
|
virtual void StartServer(const char *cvars);
|
||
|
|
||
|
void ActivateBuildMode();
|
||
|
|
||
|
void *GetShutdownHandle() { return m_hShutdown; }
|
||
|
|
||
|
void AddConsoleText(const char *msg);
|
||
|
|
||
|
bool Stopping() { return m_bClosing; }
|
||
|
|
||
|
bool IsInConfig() { return m_bIsInConfig; }
|
||
|
|
||
|
private:
|
||
|
|
||
|
// called when dialog is shut down
|
||
|
virtual void OnClose();
|
||
|
virtual void OnTick();
|
||
|
void DoStop();
|
||
|
|
||
|
// GUI elements
|
||
|
IManageServer *m_pGameServer;
|
||
|
|
||
|
// the popup menu
|
||
|
vgui::DHANDLE<vgui::ProgressBox> m_pProgressBox;
|
||
|
CCreateMultiplayerGameServerPage *m_pConfigPage;
|
||
|
|
||
|
// Event that lets the thread tell the main window it shutdown
|
||
|
void *m_hShutdown;
|
||
|
|
||
|
bool m_bStarting; // whether the server is currently starting
|
||
|
bool m_bStarted; // whether the server has been started or not
|
||
|
bool m_bClosing; // whether we are shutting down
|
||
|
bool m_bIsInConfig;
|
||
|
serveritem_t s1;
|
||
|
int m_hResourceWaitHandle;
|
||
|
float m_flPreviousSteamProgress;
|
||
|
|
||
|
typedef vgui::Panel BaseClass;
|
||
|
DECLARE_PANELMAP();
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif // CMAINPANEL_H
|