initial
This commit is contained in:
86
game/shared/cstrike15/smokegrenade_projectile.h
Normal file
86
game/shared/cstrike15/smokegrenade_projectile.h
Normal file
@@ -0,0 +1,86 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef SMOKEGRENADE_PROJECTILE_H
|
||||
#define SMOKEGRENADE_PROJECTILE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "basecsgrenade_projectile.h"
|
||||
|
||||
#if defined( CLIENT_DLL )
|
||||
|
||||
class C_SmokeGrenadeProjectile : public C_BaseCSGrenadeProjectile
|
||||
{
|
||||
public:
|
||||
DECLARE_CLASS( C_SmokeGrenadeProjectile, C_BaseCSGrenadeProjectile );
|
||||
DECLARE_NETWORKCLASS();
|
||||
|
||||
C_SmokeGrenadeProjectile() {}
|
||||
virtual ~C_SmokeGrenadeProjectile();
|
||||
|
||||
virtual void PostDataUpdate( DataUpdateType_t updateType ) OVERRIDE;
|
||||
virtual void OnDataChanged( DataUpdateType_t updateType ) OVERRIDE;
|
||||
|
||||
virtual GrenadeType_t GetGrenadeType( void ) { return GRENADE_TYPE_SMOKE; }
|
||||
void SpawnSmokeEffect();
|
||||
|
||||
CNetworkVar( int, m_nSmokeEffectTickBegin );
|
||||
CNetworkVar( bool, m_bDidSmokeEffect );
|
||||
|
||||
bool m_bSmokeEffectSpawned;
|
||||
};
|
||||
|
||||
#else // GAME_DLL
|
||||
class CSmokeGrenadeProjectile : public CBaseCSGrenadeProjectile
|
||||
{
|
||||
public:
|
||||
DECLARE_CLASS( CSmokeGrenadeProjectile, CBaseCSGrenadeProjectile );
|
||||
DECLARE_NETWORKCLASS();
|
||||
|
||||
public:
|
||||
DECLARE_DATADESC();
|
||||
// Overrides.
|
||||
public:
|
||||
virtual void Spawn();
|
||||
virtual void Precache();
|
||||
virtual void Detonate();
|
||||
virtual void OnBounced( void );
|
||||
virtual void BounceSound( void );
|
||||
|
||||
void Think_Detonate();
|
||||
void Think_Fade();
|
||||
void Think_Remove();
|
||||
|
||||
void SmokeDetonate( void );
|
||||
void RemoveGrenadeFromLists( void );
|
||||
|
||||
virtual GrenadeType_t GetGrenadeType( void ) { return GRENADE_TYPE_SMOKE; }
|
||||
|
||||
virtual int UpdateTransmitState() { return SetTransmitState( FL_EDICT_ALWAYS ); }
|
||||
|
||||
// Grenade stuff.
|
||||
public:
|
||||
|
||||
static CSmokeGrenadeProjectile* Create(
|
||||
const Vector &position,
|
||||
const QAngle &angles,
|
||||
const Vector &velocity,
|
||||
const AngularImpulse &angVelocity,
|
||||
CBaseCombatCharacter *pOwner,
|
||||
const CCSWeaponInfo& weaponInfo );
|
||||
|
||||
void SetTimer( float timer );
|
||||
|
||||
CNetworkVar( int, m_nSmokeEffectTickBegin );
|
||||
CNetworkVar( bool, m_bDidSmokeEffect );
|
||||
Vector m_vSmokeColor;
|
||||
float m_flLastBounce;
|
||||
};
|
||||
#endif // GAME_DLL
|
||||
|
||||
#endif // SMOKEGRENADE_PROJECTILE_H
|
||||
Reference in New Issue
Block a user