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.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
//=======================================================================================//
#ifndef LOADOUT_PRESET_PANEL_H
#define LOADOUT_PRESET_PANEL_H
#ifdef _WIN32
#pragma once
#endif
#include "vgui_controls/EditablePanel.h"
#include "vgui_controls/PHandle.h"
#include "class_loadout_panel.h"
class CExButton; class CSelectedItemPreset;
//-----------------------------------------------------------------------------
// A loadout preset panel, which allows combinations of items to be saved and
// restored via the GC.
//-----------------------------------------------------------------------------
class CLoadoutPresetPanel : public vgui::EditablePanel { DECLARE_CLASS_SIMPLE( CLoadoutPresetPanel, vgui::EditablePanel ); public: CLoadoutPresetPanel( vgui::Panel *pParent, const char *pName ); // name is ignored but needed for DECLARE_BUILD_FACTORY()
void SetClass( int iClass ); void EnableVerticalDisplay( bool bVertical );
virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); virtual void ApplySettings( KeyValues *pInResourceData ); virtual void PerformLayout(); virtual void OnCommand( const char *command ); virtual void OnTick() OVERRIDE;
bool HandlePresetKeyPressed( vgui::KeyCode code );
private: equipped_preset_t GetSelectedPresetID() const; void UpdatePresetButtonStates(); void LoadPreset( int iPresetIndex );
enum PresetsConsts_t { MAX_PRESETS = 4, };
int m_iClass; KeyValues *m_pPresetButtonKv; CExButton *m_pPresetButtons[ MAX_PRESETS ]; bool m_bDisplayVertical;
enum PresetButtonColors_t { LOADED = 0, NOTLOADED, FG = 0, BG, DEFAULT = 0, ARMED, DEPRESSED }; Color m_aDefaultColors[2][2][3]; // [LOADED|NOTLOADED][FG|BG][DEFAULT|ARMED|DEPRESSED]
};
#endif // LOADOUT_PRESET_PANEL_H
|