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.
50 lines
1.4 KiB
50 lines
1.4 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef INPUTVAR_H |
|
#define INPUTVAR_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "baseentity.h" |
|
#include "entitylist.h" |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Used to request a value, or a set of values, from a set of entities. |
|
// used when a multi-input variable needs to refresh it's inputs |
|
//----------------------------------------------------------------------------- |
|
class CMultiInputVar |
|
{ |
|
public: |
|
CMultiInputVar() : m_InputList(NULL) {} |
|
~CMultiInputVar(); |
|
|
|
struct inputitem_t |
|
{ |
|
variant_t value; // local copy of variable (maybe make this a variant?) |
|
int outputID; // the ID number of the output that sent this |
|
inputitem_t *next; |
|
|
|
// allocate and free from MPool memory |
|
static void *operator new( size_t stAllocBlock ); |
|
static void *operator new( size_t stAllocateBlock, int nBlockUse, const char *pFileName, int nLine ); |
|
static void operator delete( void *pMem ); |
|
static void operator delete( void *pMem, int nBlockUse, const char *pFileName, int nLine ) { operator delete(pMem); } |
|
}; |
|
|
|
inputitem_t *m_InputList; // list of data |
|
int m_bUpdatedThisFrame; |
|
|
|
void AddValue( variant_t newVal, int outputID ); |
|
|
|
DECLARE_SIMPLE_DATADESC(); |
|
}; |
|
|
|
#endif // INPUTVAR_H
|
|
|