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.
73 lines
2.2 KiB
73 lines
2.2 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//=============================================================================//
|
||
|
|
||
|
|
||
|
#ifndef ITEM_QUICKSWITCH_H
|
||
|
#define ITEM_QUICKSWITCH_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include "vgui_controls/ScrollableEditablePanel.h"
|
||
|
|
||
|
class CLoadoutPresetPanel;
|
||
|
|
||
|
class CItemQuickSwitchPanel : public vgui::EditablePanel, public CHudElement
|
||
|
{
|
||
|
DECLARE_CLASS_SIMPLE( CItemQuickSwitchPanel, vgui::EditablePanel );
|
||
|
public:
|
||
|
CItemQuickSwitchPanel( const char *pElementName );
|
||
|
virtual ~CItemQuickSwitchPanel();
|
||
|
|
||
|
void OpenQS( void );
|
||
|
void CloseQS( void );
|
||
|
bool ShouldDraw( void ) { return IsVisible(); }
|
||
|
|
||
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
|
||
|
virtual void ApplySettings( KeyValues *inResourceData );
|
||
|
virtual void PerformLayout( void );
|
||
|
virtual void OnTick( void );
|
||
|
|
||
|
void UpdateEquippedItem( void );
|
||
|
bool CalculateClassAndSlot();
|
||
|
void UpdateModelPanels( void );
|
||
|
void SetButtonToItem( int iButton, CEconItemView *pItem );
|
||
|
|
||
|
bool IsValid( void );
|
||
|
|
||
|
virtual void FireGameEvent( IGameEvent *event );
|
||
|
|
||
|
int HudElementKeyInput( int down, ButtonCode_t keynum, const char *pszCurrentBinding );
|
||
|
|
||
|
MESSAGE_FUNC( OnItemPresetLoaded, "ItemPresetLoaded" );
|
||
|
|
||
|
MESSAGE_FUNC_PTR( OnIPMouseReleased, "ItemPanelMouseReleased", panel );
|
||
|
MESSAGE_FUNC_PTR( OnItemPanelEntered, "ItemPanelEntered", panel );
|
||
|
MESSAGE_FUNC_PTR( OnItemPanelExited, "ItemPanelExited", panel );
|
||
|
|
||
|
private:
|
||
|
int m_iClass; // Class of the player we're selecting an item for
|
||
|
int m_iSlot; // Slot on the player that we're selecting an item for
|
||
|
bool m_bLoadoutHasChanged;
|
||
|
|
||
|
vgui::EditablePanel *m_pItemContainer;
|
||
|
vgui::ScrollableEditablePanel *m_pItemContainerScroller;
|
||
|
vgui::Label *m_pWeaponLabel;
|
||
|
vgui::Label *m_pEquipYourClassLabel;
|
||
|
vgui::Label *m_pNoItemsToEquipLabel;
|
||
|
vgui::Label *m_pEquippedLabel;
|
||
|
|
||
|
CLoadoutPresetPanel *m_pLoadoutPresetPanel;
|
||
|
|
||
|
KeyValues *m_pItemKV;
|
||
|
CUtlVector<CItemModelPanel *> m_pItemPanels;
|
||
|
|
||
|
CPanelAnimationVarAliasType( int, m_iItemPanelXPos, "itempanel_xpos", "0", "proportional_int" );
|
||
|
CPanelAnimationVarAliasType( int, m_iItemPanelYDelta, "itempanel_ydelta", "0", "proportional_int" );
|
||
|
};
|
||
|
|
||
|
#endif // ITEM_QUICKSWITCH_H
|