//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Base class for simple projectiles // // $NoKeywords: $ //=============================================================================// #ifndef CBASESPRITEPROJECTILE_H #define CBASESPRITEPROJECTILE_H #ifdef _WIN32 #pragma once #endif #include "Sprite.h" enum MoveType_t; enum MoveCollide_t; //============================================================================= //============================================================================= class CBaseSpriteProjectile : public CSprite { DECLARE_DATADESC(); DECLARE_CLASS(CBaseSpriteProjectile, CSprite); public: void Touch(CBaseEntity *pOther); virtual void HandleTouch(CBaseEntity *pOther); void Think(); virtual void HandleThink(); void Spawn(char *pszModel, const Vector &vecOrigin, const Vector &vecVelocity, edict_t *pOwner, MoveType_t iMovetype, MoveCollide_t nMoveCollide, int iDamage, int iDamageType, CBaseEntity *pIntendedTarget = NULL); virtual void Precache(void){}; int m_iDmg; int m_iDmgType; EHANDLE m_hIntendedTarget; }; #endif // CBASESPRITEPROJECTILE_H