Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $Workfile: $
// $Date: $
//
//-----------------------------------------------------------------------------
// $Log: $
//
// $NoKeywords: $
//=============================================================================//
#if !defined( EVENT_SYSTEM_H )
#define EVENT_SYSTEM_H
#ifdef _WIN32
#pragma once
#endif
#include "event_flags.h"
#include "common.h"
#include "enginesingleuserfilter.h"
class SendTable; class ClientClass;
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
class CEventInfo { public: enum { EVENT_INDEX_BITS = 8, EVENT_DATA_LEN_BITS = 11, MAX_EVENT_DATA = 192, // ( 1<<8 bits == 256, but only using 192 below )
};
inline CEventInfo() { classID = 0; fire_delay = 0.0f; bits = 0; flags = 0; pSendTable = NULL; pClientClass = NULL; pData = NULL; }
~CEventInfo() { if ( pData ) { delete pData; } }
CEventInfo( const CEventInfo& src ) { classID = src.classID; fire_delay = src.fire_delay; bits = src.bits; flags = src.flags; pSendTable = src.pSendTable; pClientClass = src.pClientClass; filter.AddPlayersFromFilter( &src.filter ); if ( src.pData ) { int size = Bits2Bytes( src.bits ); pData = new byte[size]; Q_memcpy( pData, src.pData, size ); } else { pData = NULL; }
}
// 0 implies not in use
short classID; // If non-zero, the delay time when the event should be fired ( fixed up on the client )
float fire_delay;
// send table pointer or NULL if send as full update
const SendTable *pSendTable; const ClientClass *pClientClass; // Length of data bits
int bits; // Raw event data
byte *pData; // CLIENT ONLY Reliable or not, etc.
int flags; // clients that see that event
CEngineRecipientFilter filter; };
#endif // EVENT_SYSTEM_H
|