Counter Strike : Global Offensive Source Code
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.

58 lines
1.3 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $Workfile: $
  6. // $Date: $
  7. //
  8. //-----------------------------------------------------------------------------
  9. // $Log: $
  10. //
  11. // $NoKeywords: $
  12. //=============================================================================//
  13. #if !defined( FXLINE_H )
  14. #define FXLINE_H
  15. #ifdef _WIN32
  16. #pragma once
  17. #endif
  18. struct FXLineData_t
  19. {
  20. Vector m_vecStart;
  21. Vector m_vecEnd;
  22. Vector m_vecStartVelocity;
  23. Vector m_vecEndVelocity;
  24. float m_flStartAlpha;
  25. float m_flEndAlpha;
  26. float m_flStartScale;
  27. float m_flEndScale;
  28. float m_flDieTime;
  29. float m_flLifeTime;
  30. IMaterial *m_pMaterial;
  31. };
  32. #include "fx_staticline.h"
  33. class CFXLine : public CClientSideEffect
  34. {
  35. public:
  36. CFXLine( const char *name, const FXLineData_t &data );
  37. ~CFXLine( void );
  38. virtual void Draw( double frametime );
  39. virtual bool IsActive( void );
  40. virtual void Destroy( void );
  41. virtual void Update( double frametime );
  42. protected:
  43. FXLineData_t m_FXData;
  44. };
  45. void FX_DrawLine( const Vector &start, const Vector &end, float scale, IMaterial *pMaterial, const color32 &color );
  46. void FX_DrawLineFade( const Vector &start, const Vector &end, float scale, IMaterial *pMaterial, const color32 &color, float fadeDist );
  47. #endif //FXLINE_H