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.
41 lines
1.2 KiB
41 lines
1.2 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
//=============================================================================
|
|
|
|
#ifndef FUNC_FORCEFIELD_H
|
|
#define FUNC_FORCEFIELD_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "modelentities.h"
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Visualizes a forcefield
|
|
//-----------------------------------------------------------------------------
|
|
DECLARE_AUTO_LIST( IFuncForceFieldAutoList );
|
|
|
|
class CFuncForceField : public CFuncBrush, public IFuncForceFieldAutoList
|
|
{
|
|
DECLARE_CLASS( CFuncForceField, CFuncBrush );
|
|
public:
|
|
DECLARE_DATADESC();
|
|
DECLARE_SERVERCLASS();
|
|
|
|
virtual void Spawn( void ) OVERRIDE;
|
|
|
|
virtual int UpdateTransmitState( void ) OVERRIDE;
|
|
virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo ) OVERRIDE;
|
|
virtual bool ShouldCollide( int collisionGroup, int contentsMask ) const OVERRIDE;
|
|
|
|
virtual void TurnOff( void ) OVERRIDE;
|
|
virtual void TurnOn( void ) OVERRIDE;
|
|
|
|
private:
|
|
void SetActive( bool bActive );
|
|
};
|
|
|
|
bool PointsCrossForceField( const Vector& vecStart, const Vector &vecEnd, int nTeamToIgnore = TEAM_UNASSIGNED );
|
|
#endif // FUNC_FORCEFIELD_H
|