summaryrefslogtreecommitdiff
path: root/game/server/dod/dod_player_resource.cpp
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/server/dod/dod_player_resource.cpp
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'game/server/dod/dod_player_resource.cpp')
-rw-r--r--game/server/dod/dod_player_resource.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/game/server/dod/dod_player_resource.cpp b/game/server/dod/dod_player_resource.cpp
new file mode 100644
index 0000000..bc637f8
--- /dev/null
+++ b/game/server/dod/dod_player_resource.cpp
@@ -0,0 +1,63 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: DOD's custom CPlayerResource
+//
+// $NoKeywords: $
+//=============================================================================//
+#include "cbase.h"
+#include "dod_player.h"
+#include "player_resource.h"
+#include "dod_player_resource.h"
+#include <coordsize.h>
+
+// Datatable
+IMPLEMENT_SERVERCLASS_ST(CDODPlayerResource, DT_DODPlayerResource)
+ SendPropArray3( SENDINFO_ARRAY3(m_iObjScore), SendPropInt( SENDINFO_ARRAY(m_iObjScore), 12 ) ),
+ SendPropArray3( SENDINFO_ARRAY3(m_iPlayerClass), SendPropInt( SENDINFO_ARRAY(m_iPlayerClass), 4 ) ),
+END_SEND_TABLE()
+
+BEGIN_DATADESC( CDODPlayerResource )
+ // DEFINE_ARRAY( m_iObjScore, FIELD_INTEGER, MAX_PLAYERS+1 ),
+ // DEFINE_ARRAY( m_iPlayerClass, FIELD_INTEGER, MAX_PLAYERS+1 ),
+END_DATADESC()
+
+LINK_ENTITY_TO_CLASS( dod_player_manager, CDODPlayerResource );
+
+CDODPlayerResource::CDODPlayerResource( void )
+{
+
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void CDODPlayerResource::UpdatePlayerData( void )
+{
+ int i;
+
+ for ( i = 1; i <= gpGlobals->maxClients; i++ )
+ {
+ CDODPlayer *pPlayer = (CDODPlayer*)UTIL_PlayerByIndex( i );
+
+ if ( pPlayer && pPlayer->IsConnected() )
+ {
+ m_iObjScore.Set( i, pPlayer->GetScore() );
+ m_iPlayerClass.Set( i, pPlayer->m_Shared.PlayerClass() );
+ }
+ }
+
+ BaseClass::UpdatePlayerData();
+}
+
+void CDODPlayerResource::Spawn( void )
+{
+ int i;
+
+ for ( i=0; i < MAX_PLAYERS+1; i++ )
+ {
+ m_iObjScore.Set( i, 0 );
+ m_iPlayerClass.Set( i, PLAYERCLASS_UNDEFINED );
+ }
+
+ BaseClass::Spawn();
+}