//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #ifndef FUNC_AREAPORTALWINDOW_H #define FUNC_AREAPORTALWINDOW_H #ifdef _WIN32 #pragma once #endif #include "baseentity.h" #include "utllinkedlist.h" #include "func_areaportalbase.h" class CFuncAreaPortalWindow : public CFuncAreaPortalBase { public: DECLARE_CLASS( CFuncAreaPortalWindow, CFuncAreaPortalBase ); DECLARE_SERVERCLASS(); DECLARE_DATADESC(); CFuncAreaPortalWindow(); ~CFuncAreaPortalWindow(); // Overrides. public: virtual void Spawn(); virtual void Activate(); // CFuncAreaPortalBase stuff. public: virtual bool UpdateVisibility( const Vector &vOrigin, float fovDistanceAdjustFactor, bool &bIsOpenOnClient ); public: // Returns false if the viewer is past the fadeout distance. bool IsWindowOpen( const Vector &vOrigin, float fovDistanceAdjustFactor ); public: CNetworkVar( float, m_flFadeStartDist ); // Distance at which it starts fading (when <= this, alpha=m_flTranslucencyLimit). CNetworkVar( float, m_flFadeDist ); // Distance at which it becomes solid. // 0-1 value - minimum translucency it's allowed to get to. CNetworkVar( float, m_flTranslucencyLimit ); string_t m_iBackgroundBModelName; // string name of background bmodel CNetworkVar( int, m_iBackgroundModelIndex ); //Input handlers void InputSetFadeStartDistance( inputdata_t &inputdata ); void InputSetFadeEndDistance( inputdata_t &inputdata ); }; #endif // FUNC_AREAPORTALWINDOW_H