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.
55 lines
1.2 KiB
55 lines
1.2 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef ENV_SPEAKER_H
|
||
|
#define ENV_SPEAKER_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
// ===================================================================================
|
||
|
//
|
||
|
// Speaker class. Used for announcements per level, for door lock/unlock spoken voice.
|
||
|
//
|
||
|
|
||
|
class CSpeaker : public CPointEntity
|
||
|
{
|
||
|
public:
|
||
|
DECLARE_CLASS( CSpeaker, CPointEntity );
|
||
|
|
||
|
void Spawn( void );
|
||
|
void Precache( void );
|
||
|
|
||
|
DECLARE_DATADESC();
|
||
|
|
||
|
virtual int ObjectCaps( void ) { return (BaseClass::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); }
|
||
|
|
||
|
virtual IResponseSystem *GetResponseSystem() { return m_pInstancedResponseSystem; }
|
||
|
|
||
|
virtual int Save( ISave &save );
|
||
|
virtual int Restore( IRestore &restore );
|
||
|
|
||
|
protected:
|
||
|
|
||
|
void SpeakerThink( void );
|
||
|
|
||
|
void InputToggle( inputdata_t &inputdata );
|
||
|
|
||
|
float m_delayMin;
|
||
|
float m_delayMax;
|
||
|
|
||
|
string_t m_iszRuleScriptFile;
|
||
|
string_t m_iszConcept;
|
||
|
IResponseSystem *m_pInstancedResponseSystem;
|
||
|
|
||
|
public:
|
||
|
|
||
|
void InputTurnOff( inputdata_t &inputdata );
|
||
|
void InputTurnOn( inputdata_t &inputdata );
|
||
|
};
|
||
|
|
||
|
#endif // ENV_SPEAKER_H
|