45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
//========= 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
|