68 lines
1.7 KiB
C++
68 lines
1.7 KiB
C++
//========= Copyright © 1996-2005, 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 CUtlVector< Vector > &vecOrigins, float fovDistanceAdjustFactor, bool &bIsOpenOnClient );
|
|
|
|
|
|
public:
|
|
// Returns false if the viewer is past the fadeout distance.
|
|
bool IsWindowOpen( const CUtlVector< Vector > &vecOrigins, 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
|