//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #pragma once #ifndef AI_LOOKTARGET_H #define AI_LOOKTARGET_H #define SF_LOOKTARGET_ONLYONCE 0x00000001 //============================================================================= //============================================================================= class CAI_LookTarget : public CPointEntity { public: DECLARE_CLASS( CAI_LookTarget, CPointEntity ); DECLARE_DATADESC(); CAI_LookTarget() { m_flTimeNextAvailable = -1; } // Debugging int DrawDebugTextOverlays(void); // Accessors & Availability bool IsEligible( CBaseEntity *pLooker ); bool IsEnabled() { return !m_bDisabled; } bool IsAvailable() { return (gpGlobals->curtime > m_flTimeNextAvailable); } void Reserve( float flDuration ); // Searching static CAI_LookTarget *GetFirstLookTarget(); static CAI_LookTarget *GetNextLookTarget( CAI_LookTarget *pCurrentTarget ); int m_iContext; int m_iPriority; void Enable() { m_bDisabled = false; } void Disable() { m_bDisabled = true; } private: bool m_bDisabled; float m_flTimeNextAvailable; float m_flMaxDist; }; #endif//AI_LOOKTARGET_H