Team Fortress 2 Source Code as on 22/4/2020
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

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================
  6. #ifndef FUNC_FORCEFIELD_H
  7. #define FUNC_FORCEFIELD_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "modelentities.h"
  12. //-----------------------------------------------------------------------------
  13. // Purpose: Visualizes a forcefield
  14. //-----------------------------------------------------------------------------
  15. DECLARE_AUTO_LIST( IFuncForceFieldAutoList );
  16. class CFuncForceField : public CFuncBrush, public IFuncForceFieldAutoList
  17. {
  18. DECLARE_CLASS( CFuncForceField, CFuncBrush );
  19. public:
  20. DECLARE_DATADESC();
  21. DECLARE_SERVERCLASS();
  22. virtual void Spawn( void ) OVERRIDE;
  23. virtual int UpdateTransmitState( void ) OVERRIDE;
  24. virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo ) OVERRIDE;
  25. virtual bool ShouldCollide( int collisionGroup, int contentsMask ) const OVERRIDE;
  26. virtual void TurnOff( void ) OVERRIDE;
  27. virtual void TurnOn( void ) OVERRIDE;
  28. private:
  29. void SetActive( bool bActive );
  30. };
  31. bool PointsCrossForceField( const Vector& vecStart, const Vector &vecEnd, int nTeamToIgnore = TEAM_UNASSIGNED );
  32. #endif // FUNC_FORCEFIELD_H