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.

48 lines
1.1 KiB

  1. //========= Copyright � 1996-2007, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose: Base class for simple projectiles
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef CBASEPROJECTILE_H
  8. #define CBASEPROJECTILE_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. enum MoveType_t;
  13. enum MoveCollide_t;
  14. //=============================================================================
  15. //=============================================================================
  16. class CBaseProjectile : public CBaseAnimating
  17. {
  18. DECLARE_DATADESC();
  19. DECLARE_CLASS( CBaseProjectile, CBaseAnimating );
  20. public:
  21. void Touch( CBaseEntity *pOther );
  22. virtual void HandleTouch( CBaseEntity *pOther );
  23. void Think();
  24. virtual void HandleThink();
  25. void Spawn( char *pszModel,
  26. const Vector &vecOrigin,
  27. const Vector &vecVelocity,
  28. edict_t *pOwner,
  29. MoveType_t iMovetype,
  30. MoveCollide_t nMoveCollide,
  31. int iDamage,
  32. int iDamageType,
  33. CBaseEntity *pIntendedTarget = NULL );
  34. virtual void Precache( void ) {};
  35. int m_iDmg;
  36. int m_iDmgType;
  37. EHANDLE m_hIntendedTarget;
  38. };
  39. #endif // CBASEPROJECTILE_H