summaryrefslogtreecommitdiff
path: root/game/client/tf/vgui/store/v1
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/tf/vgui/store/v1
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'game/client/tf/vgui/store/v1')
-rw-r--r--game/client/tf/vgui/store/v1/tf_store_page.cpp96
-rw-r--r--game/client/tf/vgui/store/v1/tf_store_page.h39
-rw-r--r--game/client/tf/vgui/store/v1/tf_store_page_maps.cpp30
-rw-r--r--game/client/tf/vgui/store/v1/tf_store_page_maps.h33
-rw-r--r--game/client/tf/vgui/store/v1/tf_store_panel.cpp69
-rw-r--r--game/client/tf/vgui/store/v1/tf_store_panel.h38
-rw-r--r--game/client/tf/vgui/store/v1/tf_store_preview_item.cpp100
-rw-r--r--game/client/tf/vgui/store/v1/tf_store_preview_item.h41
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