diff options
Diffstat (limited to 'game/client/tf/vgui/store/v1')
| -rw-r--r-- | game/client/tf/vgui/store/v1/tf_store_page.cpp | 96 | ||||
| -rw-r--r-- | game/client/tf/vgui/store/v1/tf_store_page.h | 39 | ||||
| -rw-r--r-- | game/client/tf/vgui/store/v1/tf_store_page_maps.cpp | 30 | ||||
| -rw-r--r-- | game/client/tf/vgui/store/v1/tf_store_page_maps.h | 33 | ||||
| -rw-r--r-- | game/client/tf/vgui/store/v1/tf_store_panel.cpp | 69 | ||||
| -rw-r--r-- | game/client/tf/vgui/store/v1/tf_store_panel.h | 38 | ||||
| -rw-r--r-- | game/client/tf/vgui/store/v1/tf_store_preview_item.cpp | 100 | ||||
| -rw-r--r-- | game/client/tf/vgui/store/v1/tf_store_preview_item.h | 41 |
8 files changed, 446 insertions, 0 deletions
diff --git a/game/client/tf/vgui/store/v1/tf_store_page.cpp b/game/client/tf/vgui/store/v1/tf_store_page.cpp new file mode 100644 index 0000000..9d55a9c --- /dev/null +++ b/game/client/tf/vgui/store/v1/tf_store_page.cpp @@ -0,0 +1,96 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + + +#include "cbase.h" +#include "store/v1/tf_store_page.h" +#include "store/v1/tf_store_preview_item.h" +#include "c_tf_freeaccount.h" +#include "store/store_panel.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include <tier0/memdbgon.h> + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CTFStorePage1::CTFStorePage1(Panel *parent, const CEconStoreCategoryManager::StoreCategory_t *pPageData, const char *pPreviewItemResFile ) : BaseClass(parent, pPageData, pPreviewItemResFile) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +const char *CTFStorePage1::GetPageResFile( void ) +{ + Assert( !"No code should currently reference the old store!" ); + + return m_pPageData->m_pchPageRes; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePage1::OnPageShow( void ) +{ + BaseClass::OnPageShow(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePage1::OnCommand( const char *command ) +{ + BaseClass::OnCommand( command ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePage1::OnItemDetails( vgui::Panel *panel ) +{ + BaseClass::OnItemDetails( panel ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePage1::ShowPreview( int iClass, const econ_store_entry_t* pEntry ) +{ + BaseClass::ShowPreview( iClass, pEntry ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePage1::UpdateFilterComboBox( void ) +{ + BaseClass::UpdateFilterComboBox(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePage1::GetFiltersForDef( GameItemDefinition_t *pDef, CUtlVector<int> *pVecFilters ) +{ + return BaseClass::GetFiltersForDef( pDef, pVecFilters ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePage1::OnTick( void ) +{ + BaseClass::OnTick(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CStorePreviewItemPanel *CTFStorePage1::CreatePreviewPanel( void ) +{ + return new CTFStorePreviewItemPanel1( this, m_pPreviewItemResFile, "storepreviewitem", this ); +} diff --git a/game/client/tf/vgui/store/v1/tf_store_page.h b/game/client/tf/vgui/store/v1/tf_store_page.h new file mode 100644 index 0000000..814bc01 --- /dev/null +++ b/game/client/tf/vgui/store/v1/tf_store_page.h @@ -0,0 +1,39 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef TF_STORE_PAGE1_H +#define TF_STORE_PAGE1_H +#ifdef _WIN32 +#pragma once +#endif + +#include "store/tf_store_page_base.h" + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CTFStorePage1 : public CTFStorePageBase +{ + DECLARE_CLASS_SIMPLE( CTFStorePage1, CTFStorePageBase ); +public: + CTFStorePage1( Panel *parent, const CEconStoreCategoryManager::StoreCategory_t *pPageData, const char *pPreviewItemResFile = NULL ); + + virtual const char *GetPageResFile( void ); + virtual void OnCommand( const char *command ); + virtual void ShowPreview( int iClass, const econ_store_entry_t* pEntry ); + + MESSAGE_FUNC( OnPageShow, "PageShow" ); + MESSAGE_FUNC_PTR( OnItemDetails, "ItemDetails", panel ); + + virtual void UpdateFilterComboBox( void ); + virtual void GetFiltersForDef( GameItemDefinition_t *pDef, CUtlVector<int> *pVecFilters ); + virtual void OnTick( void ); + + virtual CStorePreviewItemPanel *CreatePreviewPanel( void ); +}; + +#endif // TF_STORE_PAGE1_H diff --git a/game/client/tf/vgui/store/v1/tf_store_page_maps.cpp b/game/client/tf/vgui/store/v1/tf_store_page_maps.cpp new file mode 100644 index 0000000..4b8a895 --- /dev/null +++ b/game/client/tf/vgui/store/v1/tf_store_page_maps.cpp @@ -0,0 +1,30 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + + +#include "cbase.h" +#include "store/v1/tf_store_page_maps.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include <tier0/memdbgon.h> + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CTFStorePage_Maps::CTFStorePage_Maps( Panel *parent, const CEconStoreCategoryManager::StoreCategory_t *pPageData ) +: BaseClass( parent, pPageData, "Resource/UI/econ/store/v1/StorePreviewItemPanel_Maps.res" ) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePage_Maps::OnPageShow() +{ + BaseClass::OnPageShow(); + + SetDetailsVisible( false ); +}
\ No newline at end of file diff --git a/game/client/tf/vgui/store/v1/tf_store_page_maps.h b/game/client/tf/vgui/store/v1/tf_store_page_maps.h new file mode 100644 index 0000000..30fc0dc --- /dev/null +++ b/game/client/tf/vgui/store/v1/tf_store_page_maps.h @@ -0,0 +1,33 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef STORE_PAGE_MAPS_H +#define STORE_PAGE_MAPS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "store/v1/tf_store_page.h" + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CTFStorePage_Maps : public CTFStorePage1 +{ + DECLARE_CLASS_SIMPLE( CTFStorePage_Maps, CTFStorePage1 ); +public: + CTFStorePage_Maps( Panel *parent, const CEconStoreCategoryManager::StoreCategory_t *pPageData ); + virtual ~CTFStorePage_Maps() {} + + virtual const char* GetPageResFile() { return "Resource/UI/econ/store/v1/StorePage_Maps.res"; } + + virtual void OnPageShow( void ); + +protected: +}; + +#endif // STORE_PAGE_MAPS_H diff --git a/game/client/tf/vgui/store/v1/tf_store_panel.cpp b/game/client/tf/vgui/store/v1/tf_store_panel.cpp new file mode 100644 index 0000000..4daf037 --- /dev/null +++ b/game/client/tf/vgui/store/v1/tf_store_panel.cpp @@ -0,0 +1,69 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + + +#include "cbase.h" +#include "store/v1/tf_store_page.h" +#include "store/v1/tf_store_panel.h" +#include "store/store_page_halloween.h" +#include "store/store_page_new.h" +#include "store/v1/tf_store_page_maps.h" +#include "store/store_viewcart.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include <tier0/memdbgon.h> + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CTFStorePanel1::CTFStorePanel1( vgui::Panel *parent ) : CTFBaseStorePanel(parent) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePanel1::ApplySchemeSettings( vgui::IScheme *pScheme ) +{ + BaseClass::ApplySchemeSettings( pScheme ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePanel1::OnThink() +{ + BaseClass::OnThink(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePanel1::PostTransactionCompleted( void ) +{ + BaseClass::PostTransactionCompleted(); +} + +//----------------------------------------------------------------------------- +// Purpose: Static store page factory. +//----------------------------------------------------------------------------- +CStorePage *CTFStorePanel1::CreateStorePage( const CEconStoreCategoryManager::StoreCategory_t *pPageData ) +{ + if ( pPageData ) + { + if ( !Q_strcmp( pPageData->m_pchPageClass, "CStorePage_SpecialPromo" ) ) + return new CTFStorePage_SpecialPromo( this, pPageData ); + + if ( !Q_strcmp( pPageData->m_pchPageClass, "CStorePage_Maps" ) ) + return new CTFStorePage_Maps( this, pPageData ); + + if ( !Q_strcmp( pPageData->m_pchPageClass, "CStorePage_Popular" ) ) + return new CTFStorePage_Popular( this, pPageData ); + } + + // Default, standard store page. + return new CTFStorePage1( this, pPageData ); +} diff --git a/game/client/tf/vgui/store/v1/tf_store_panel.h b/game/client/tf/vgui/store/v1/tf_store_panel.h new file mode 100644 index 0000000..cac6b00 --- /dev/null +++ b/game/client/tf/vgui/store/v1/tf_store_panel.h @@ -0,0 +1,38 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef TF_STORE_PANEL1_H +#define TF_STORE_PANEL1_H +#ifdef _WIN32 +#pragma once +#endif + +#include "store/tf_store_panel_base.h" + +class CStorePage; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CTFStorePanel1 : public CTFBaseStorePanel +{ + DECLARE_CLASS_SIMPLE( CTFStorePanel1, CTFBaseStorePanel ); +public: + CTFStorePanel1( vgui::Panel *parent ); + + // UI Layout + virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); + virtual void OnThink(); + + // GC Management + virtual void PostTransactionCompleted( void ); + +private: + virtual CStorePage *CreateStorePage( const CEconStoreCategoryManager::StoreCategory_t *pPageData ); +}; + +#endif // TF_STORE_PANEL1_H diff --git a/game/client/tf/vgui/store/v1/tf_store_preview_item.cpp b/game/client/tf/vgui/store/v1/tf_store_preview_item.cpp new file mode 100644 index 0000000..7f23513 --- /dev/null +++ b/game/client/tf/vgui/store/v1/tf_store_preview_item.cpp @@ -0,0 +1,100 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + + +#include "cbase.h" +#include "store/v1/tf_store_preview_item.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include <tier0/memdbgon.h> + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CTFStorePreviewItemPanel1::CTFStorePreviewItemPanel1( vgui::Panel *pParent, const char *pResFile, const char *pPanelName, CStorePage *pOwner ) +: BaseClass( pParent, pResFile, "storepreviewitem", pOwner ) +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::ApplySchemeSettings( vgui::IScheme *pScheme ) +{ + BaseClass::ApplySchemeSettings( pScheme ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::PerformLayout( void ) +{ + BaseClass::PerformLayout(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::OnCommand( const char *command ) +{ + BaseClass::OnCommand( command ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::OnClassIconSelected( KeyValues *data ) +{ + BaseClass::OnClassIconSelected( data ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::OnHideClassIconMouseover( void ) +{ + BaseClass::OnHideClassIconMouseover(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::OnShowClassIconMouseover( KeyValues *data ) +{ + BaseClass::OnShowClassIconMouseover( data ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::PreviewItem( int iClass, CEconItemView *pItem, const econ_store_entry_t* pEntry ) +{ + BaseClass::PreviewItem( iClass, pItem, pEntry ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::SetState( preview_state_t iState ) +{ + BaseClass::SetState( iState ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::UpdateIcons( void ) +{ + BaseClass::UpdateIcons(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CTFStorePreviewItemPanel1::OnTick( void ) +{ + BaseClass::OnTick(); +} diff --git a/game/client/tf/vgui/store/v1/tf_store_preview_item.h b/game/client/tf/vgui/store/v1/tf_store_preview_item.h new file mode 100644 index 0000000..02994c4 --- /dev/null +++ b/game/client/tf/vgui/store/v1/tf_store_preview_item.h @@ -0,0 +1,41 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef TF_STORE_PREVIEW_ITEM1_H +#define TF_STORE_PREVIEW_ITEM1_H +#ifdef _WIN32 +#pragma once +#endif + +#include "store/tf_store_preview_item_base.h" + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CTFStorePreviewItemPanel1 : public CTFStorePreviewItemPanelBase +{ + DECLARE_CLASS_SIMPLE( CTFStorePreviewItemPanel1, CTFStorePreviewItemPanelBase ); +public: + CTFStorePreviewItemPanel1( vgui::Panel *pParent, const char *pResFile, const char *pPanelName, CStorePage *pOwner ); + + virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); + virtual void OnCommand( const char *command ); + virtual void PerformLayout( void ); + virtual void OnTick( void ); + + virtual void PreviewItem( int iClass, CEconItemView *pItem, const econ_store_entry_t* pEntry=NULL ) OVERRIDE; + virtual void SetState( preview_state_t iState ); + + MESSAGE_FUNC_PARAMS( OnClassIconSelected, "ClassIconSelected", data ); + MESSAGE_FUNC( OnHideClassIconMouseover, "HideClassIconMouseover" ); + MESSAGE_FUNC_PARAMS( OnShowClassIconMouseover, "ShowClassIconMouseover", data ); + +private: + virtual void UpdateIcons( void ); +}; + +#endif // TF_STORE_PREVIEW_ITEM1_H |