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
48 lines
1.1 KiB
//========= Copyright © 1996-2007, Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Base class for simple projectiles |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef CBASEPROJECTILE_H |
|
#define CBASEPROJECTILE_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
enum MoveType_t; |
|
enum MoveCollide_t; |
|
|
|
//============================================================================= |
|
//============================================================================= |
|
class CBaseProjectile : public CBaseAnimating |
|
{ |
|
DECLARE_DATADESC(); |
|
DECLARE_CLASS( CBaseProjectile, CBaseAnimating ); |
|
|
|
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 // CBASEPROJECTILE_H
|
|
|