//========= 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