|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Player for HL1.
//
// $NoKeywords: $
//=============================================================================//
#ifndef DT_UTLVECTOR_SEND_H
#define DT_UTLVECTOR_SEND_H
#pragma once
#include "dt_send.h"
#include "dt_utlvector_common.h"
#define SENDINFO_UTLVECTOR( varName ) #varName, \
offsetof(currentSendDTClass, varName), \ sizeof(((currentSendDTClass*)0)->varName[0]), \ GetEnsureCapacityTemplate( ((currentSendDTClass*)0)->varName )
#define SendPropUtlVectorDataTable( varName, nMaxElements, dataTableName ) \
SendPropUtlVector( \ SENDINFO_UTLVECTOR( varName ), \ nMaxElements, \ SendPropDataTable( NULL, 0, &REFERENCE_SEND_TABLE( dataTableName ) ) \ )
//
// Set it up to transmit a CUtlVector of basic types or of structures.
//
// pArrayProp doesn't need a name, offset, or size. You can pass 0 for all those.
// Example usage:
//
// SendPropUtlVectorDataTable( m_StructArray, 11, DT_TestStruct )
//
// SendPropUtlVector(
// SENDINFO_UTLVECTOR( m_FloatArray ),
// 16, // max elements
// SendPropFloat( NULL, 0, 0, 0, SPROP_NOSCALE )
// )
//
SendProp SendPropUtlVector( char *pVarName, // Use SENDINFO_UTLVECTOR to generate these first 4 parameters.
int offset, int sizeofVar, EnsureCapacityFn ensureFn,
int nMaxElements, // Max # of elements in the array. Keep this as low as possible.
SendProp pArrayProp, // Describe the data inside of each element in the array.
SendTableProxyFn varProxy=SendProxy_DataTableToDataTable // This can be overridden to control who the array is sent to.
);
#endif // DT_UTLVECTOR_SEND_H
|