Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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.
 
 
 
 
 
 

51 lines
1.3 KiB

//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//
//=============================================================================//
#ifndef LOGICRANDOMOUTPUTS_H
#define LOGICRANDOMOUTPUTS_H
#include "cbase.h"
#include "entityinput.h"
#include "entityoutput.h"
#include "eventqueue.h"
#define NUM_RANDOM_OUTPUTS 8
class CLogicRandomOutputs : public CLogicalEntity
{
public:
DECLARE_CLASS( CLogicRandomOutputs, CLogicalEntity );
CLogicRandomOutputs();
void Activate();
void Think();
virtual bool KeyValue( const char *szKeyName, const char *szValue );
// Input handlers
void InputEnable( inputdata_t &inputdata );
void InputEnableRefire( inputdata_t &inputdata ); // Private input handler, not in FGD
void InputDisable( inputdata_t &inputdata );
void InputToggle( inputdata_t &inputdata );
void InputTrigger( inputdata_t &inputdata );
void InputCancelPending( inputdata_t &inputdata );
DECLARE_DATADESC();
// Outputs
COutputEvent m_Output[ NUM_RANDOM_OUTPUTS ];
COutputEvent m_OnSpawn;
float m_flOnTriggerChance[ NUM_RANDOM_OUTPUTS ];
private:
bool m_bDisabled;
bool m_bWaitForRefire; // Set to disallow a refire while we are waiting for our outputs to finish firing.
};
#endif //LOGICRANDOMOUTPUTS_H