aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/logicrelay.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/server/logicrelay.h')
-rw-r--r--mp/src/game/server/logicrelay.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/mp/src/game/server/logicrelay.h b/mp/src/game/server/logicrelay.h
new file mode 100644
index 00000000..d79710c5
--- /dev/null
+++ b/mp/src/game/server/logicrelay.h
@@ -0,0 +1,46 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+#ifndef LOGICRELAY_H
+#define LOGICRELAY_H
+
+#include "cbase.h"
+#include "entityinput.h"
+#include "entityoutput.h"
+#include "eventqueue.h"
+
+class CLogicRelay : public CLogicalEntity
+{
+public:
+ DECLARE_CLASS( CLogicRelay, CLogicalEntity );
+
+ CLogicRelay();
+
+ void Activate();
+ void Think();
+
+ // 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_OnTrigger;
+ COutputEvent m_OnSpawn;
+
+private:
+
+ bool m_bDisabled;
+ bool m_bWaitForRefire; // Set to disallow a refire while we are waiting for our outputs to finish firing.
+};
+
+#endif //LOGICRELAY_H