mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2024-12-23 01:59:43 +08:00
67 lines
1.9 KiB
C++
67 lines
1.9 KiB
C++
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//
|
||
|
//=============================================================================//
|
||
|
// data_collector.cpp
|
||
|
// Data collection system
|
||
|
// Author: Michael S. Booth, June 2004
|
||
|
|
||
|
#include "cbase.h"
|
||
|
#include "data_collector.h"
|
||
|
|
||
|
static CDataCollector *collector = NULL;
|
||
|
|
||
|
//----------------------------------------------------------------------------------------------------------------------
|
||
|
void StartDataCollection( void )
|
||
|
{
|
||
|
if (collector)
|
||
|
{
|
||
|
// already collecting
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
collector = new CDataCollector;
|
||
|
Msg( "Data colletion started.\n" );
|
||
|
}
|
||
|
ConCommand data_collection_start( "data_collection_start", StartDataCollection, "Start collecting game event data." );
|
||
|
|
||
|
|
||
|
//----------------------------------------------------------------------------------------------------------------------
|
||
|
void StopDataCollection( void )
|
||
|
{
|
||
|
if (collector)
|
||
|
{
|
||
|
delete collector;
|
||
|
collector = NULL;
|
||
|
|
||
|
Msg( "Data collection stopped.\n" );
|
||
|
}
|
||
|
}
|
||
|
ConCommand data_collection_stop( "data_collection_stop", StopDataCollection, "Stop collecting game event data." );
|
||
|
|
||
|
|
||
|
//----------------------------------------------------------------------------------------------------------------------
|
||
|
CDataCollector::CDataCollector( void )
|
||
|
{
|
||
|
// register for all events
|
||
|
gameeventmanager->AddListener( this, true );
|
||
|
}
|
||
|
|
||
|
//----------------------------------------------------------------------------------------------------------------------
|
||
|
CDataCollector::~CDataCollector()
|
||
|
{
|
||
|
gameeventmanager->RemoveListener( this );
|
||
|
}
|
||
|
|
||
|
//----------------------------------------------------------------------------------------------------------------------
|
||
|
/**
|
||
|
* This is invoked for each event that occurs in the game
|
||
|
*/
|
||
|
void CDataCollector::FireGameEvent( KeyValues *event )
|
||
|
{
|
||
|
DevMsg( "Collected event '%s'\n", event->GetName() );
|
||
|
}
|