summaryrefslogtreecommitdiff
path: root/game/shared/tf/tf_ladder_data.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/shared/tf/tf_ladder_data.h')
-rw-r--r--game/shared/tf/tf_ladder_data.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/game/shared/tf/tf_ladder_data.h b/game/shared/tf/tf_ladder_data.h
new file mode 100644
index 0000000..a1b672a
--- /dev/null
+++ b/game/shared/tf/tf_ladder_data.h
@@ -0,0 +1,81 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Holds WarData
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef TFLADDERDATA_H
+#define TFLADDERDATA_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "gcsdk/protobufsharedobject.h"
+#include "tf_gcmessages.h"
+#if defined (CLIENT_DLL) || defined (GAME_DLL)
+#include "gc_clientsystem.h"
+#endif
+
+#ifdef GC
+#include "tf_gc.h"
+#else
+#include "tf_matchmaking_shared.h"
+#endif
+
+
+//---------------------------------------------------------------------------------
+// Purpose: The shared object that contains a ladder player's stats
+//---------------------------------------------------------------------------------
+class CSOTFLadderData : public GCSDK::CProtoBufSharedObject< CSOTFLadderPlayerStats, k_EEConTypeLadderData >
+{
+public:
+ CSOTFLadderData();
+ CSOTFLadderData( uint32 unAccountID, EMatchGroup eMatchGroup );
+#ifdef GC
+ DECLARE_CLASS_MEMPOOL( CSOTFLadderData );
+
+ virtual bool BIsKeyLess( const CSharedObject & soRHS ) const OVERRIDE;
+
+ virtual bool BYieldingAddInsertToTransaction( GCSDK::CSQLAccess & sqlAccess ) OVERRIDE;
+ virtual bool BYieldingAddWriteToTransaction( GCSDK::CSQLAccess & sqlAccess, const CUtlVector< int > &fields ) OVERRIDE;
+ virtual bool BYieldingAddRemoveToTransaction( GCSDK::CSQLAccess & sqlAccess ) OVERRIDE;
+
+ void WriteToRecord( CSchLadderData *pLadderData ) const;
+ void ReadFromRecord( const CSchLadderData &ladderData );
+#endif // GC
+};
+
+
+CSOTFLadderData *YieldingGetPlayerLadderDataBySteamID( const CSteamID &steamID, EMatchGroup nMatchGroup );
+#ifndef GC
+CSOTFLadderData *GetLocalPlayerLadderData( EMatchGroup nMatchGroup ); // TODO: GetSeasonID()
+#endif // !GC
+
+//---------------------------------------------------------------------------------
+// Purpose: The shared object that contains stats from a specific match - for match history on the client
+//---------------------------------------------------------------------------------
+class CSOTFMatchResultPlayerInfo : public GCSDK::CProtoBufSharedObject< CSOTFMatchResultPlayerStats, k_EEConTypeMatchResultPlayerInfo >
+{
+public:
+ CSOTFMatchResultPlayerInfo();
+#ifdef GC
+ DECLARE_CLASS_MEMPOOL( CSOTFMatchResultPlayerInfo );
+ CSOTFMatchResultPlayerInfo( uint32 unAccountID );
+
+ virtual bool BIsKeyLess( const CSharedObject & soRHS ) const OVERRIDE;
+
+ virtual bool BYieldingAddInsertToTransaction( GCSDK::CSQLAccess & sqlAccess ) OVERRIDE;
+ virtual bool BYieldingAddWriteToTransaction( GCSDK::CSQLAccess & sqlAccess, const CUtlVector< int > &fields ) OVERRIDE;
+ virtual bool BYieldingAddRemoveToTransaction( GCSDK::CSQLAccess & sqlAccess ) OVERRIDE;
+
+ void WriteToRecord( CSchMatchResultPlayerInfo *pMatchInfo ) const;
+ void ReadFromRecord( const CSchMatchResultPlayerInfo &matchInfo );
+#endif // GC
+};
+
+#ifndef GC
+void GetLocalPlayerMatchHistory( EMatchGroup nMatchGroup, CUtlVector < CSOTFMatchResultPlayerStats > &vecMatchesOut );
+#endif // !GC
+
+#endif // TFLADDERDATA_H