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.

81 lines
2.1 KiB

  1. //====== Copyright � 1996-2005, Valve Corporation, All rights reserved. =======
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================
  6. #include "glow_outline_effect.h"
  7. #ifndef C_PROPS_H
  8. #define C_PROPS_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "c_breakableprop.h"
  13. #include "props_shared.h"
  14. #define CDynamicProp C_DynamicProp
  15. //-----------------------------------------------------------------------------
  16. // Purpose:
  17. //-----------------------------------------------------------------------------
  18. class C_DynamicProp : public C_BreakableProp
  19. {
  20. DECLARE_CLASS( C_DynamicProp, C_BreakableProp );
  21. public:
  22. DECLARE_NETWORKCLASS();
  23. // constructor, destructor
  24. C_DynamicProp( void );
  25. ~C_DynamicProp( void );
  26. virtual void ClientThink( void );
  27. virtual void OnDataChanged( DataUpdateType_t type );
  28. void GetRenderBounds( Vector& theMins, Vector& theMaxs );
  29. unsigned int ComputeClientSideAnimationFlags();
  30. bool TestBoneFollowers( const Ray_t &ray, unsigned int fContentsMask, trace_t& tr );
  31. bool TestCollision( const Ray_t &ray, unsigned int fContentsMask, trace_t& tr );
  32. void ForceTurnOffGlow( void );
  33. void UpdateGlow( void );
  34. CGlowObject m_GlowObject;
  35. private:
  36. C_DynamicProp( const C_DynamicProp & );
  37. bool m_bUseHitboxesForRenderBox;
  38. int m_iCachedFrameCount;
  39. Vector m_vecCachedRenderMins;
  40. Vector m_vecCachedRenderMaxs;
  41. float m_flGlowMaxDist;
  42. bool m_bShouldGlow;
  43. color32 m_clrGlow;
  44. int m_nGlowStyle;
  45. };
  46. //-----------------------------------------------------------------------------
  47. // Purpose:
  48. //-----------------------------------------------------------------------------
  49. class C_BasePropDoor : public C_DynamicProp
  50. {
  51. DECLARE_CLASS( C_BasePropDoor, C_DynamicProp );
  52. public:
  53. DECLARE_CLIENTCLASS();
  54. // constructor, destructor
  55. C_BasePropDoor( void );
  56. virtual ~C_BasePropDoor( void );
  57. virtual void OnDataChanged( DataUpdateType_t type );
  58. virtual void PostDataUpdate( DataUpdateType_t updateType );
  59. virtual bool TestCollision( const Ray_t &ray, unsigned int mask, trace_t& trace );
  60. private:
  61. C_BasePropDoor( const C_BasePropDoor & );
  62. bool m_modelChanged;
  63. };
  64. #endif // C_PROPS_H