hl2_src-leak-2017/src/game/server/tf2/menu_base.h

78 lines
1.8 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $Workfile: $
// $Date: $
//
//-----------------------------------------------------------------------------
// $Log: $
//
// $NoKeywords: $
//=============================================================================//
#ifndef MENU_BASE_H
#define MENU_BASE_H
#pragma once
class CBasePlayer;
class CMenu;
enum
{
MENU_DEFAULT = 0,
MENU_TEAM,
MENU_CLASS,
// Insert new Menus here
MENU_LAST, // Total Number of menus
};
// Global list of menus
extern CMenu *gMenus[];
//-----------------------------------------------------------------------------
// Purpose: Base Menu Class
//-----------------------------------------------------------------------------
class CMenu
{
public:
CMenu();
virtual void RecalculateMenu( CBaseTFPlayer *pViewer );
virtual void Display( CBaseTFPlayer *pViewer, int allowed = 0xFFFF, int display_time = -1 );
virtual bool Input( CBaseTFPlayer *pViewer, int iInput );
protected:
char m_szMenuString[1024];
};
//-----------------------------------------------------------------------------
// Purpose: Team Menu
//-----------------------------------------------------------------------------
class CMenuTeam : public CMenu
{
public:
CMenuTeam();
virtual void RecalculateMenu( CBaseTFPlayer *pViewer );
virtual bool Input( CBaseTFPlayer *pViewer, int iInput );
};
//-----------------------------------------------------------------------------
// Purpose: Class Menu
//-----------------------------------------------------------------------------
class CMenuClass : public CMenu
{
public:
CMenuClass();
virtual void RecalculateMenu( CBaseTFPlayer *pViewer );
virtual bool Input( CBaseTFPlayer *pViewer, int iInput );
};
#endif // MENU_BASE_H