Team Fortress 2 Source Code as on 22/4/2020
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.

61 lines
1.7 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose: Dialog for setting customizable game options
  4. //
  5. //=============================================================================//
  6. #ifndef SESSIONOPTIONSDIALOG_H
  7. #define SESSIONOPTIONSDIALOG_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "basedialog.h"
  12. //-----------------------------------------------------------------------------
  13. // Purpose: Simple menu to choose a matchmaking session type
  14. //-----------------------------------------------------------------------------
  15. class CSessionOptionsDialog : public CBaseDialog
  16. {
  17. DECLARE_CLASS_SIMPLE( CSessionOptionsDialog, CBaseDialog );
  18. public:
  19. CSessionOptionsDialog( vgui::Panel *parent );
  20. ~CSessionOptionsDialog();
  21. virtual void OnCommand( const char *pCommand );
  22. virtual void OnKeyCodePressed( vgui::KeyCode code );
  23. virtual void OnThink();
  24. virtual void PerformLayout( void );
  25. virtual void ApplySettings( KeyValues *pResourceData );
  26. virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
  27. virtual void OverrideMenuItem( KeyValues *pKeys );
  28. void SetGameType( const char *pGametype );
  29. void SetDialogKeys( KeyValues *pKeys );
  30. void ApplyCommonProperties( KeyValues *pKeys );
  31. MESSAGE_FUNC_PARAMS( OnMenuItemChanged, "MenuItemChanged", data );
  32. private:
  33. void SetupSession( void );
  34. void UpdateScenarioDisplay( void );
  35. int GetMaxPlayersRecommendedOption( void );
  36. char m_szCommand[MAX_COMMAND_LEN];
  37. char m_szGametype[MAX_COMMAND_LEN];
  38. bool m_bModifySession;
  39. KeyValues *m_pDialogKeys;
  40. CUtlVector< sessionProperty_t > m_SessionProperties;
  41. CUtlVector< CScenarioInfoPanel* > m_pScenarioInfos;
  42. vgui::Label *m_pRecommendedLabel;
  43. };
  44. #endif // SESSIONOPTIONSDIALOG_H