source-engine/game/client/swarm/c_asw_prop_physics.h
2023-10-03 17:23:56 +03:00

55 lines
1.6 KiB
C++

//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#ifndef C_ASW_PROP_PHYSICS_H
#define C_ASW_PROP_PHYSICS_H
#ifdef _WIN32
#pragma once
#endif
#include "c_physicsprop.h"
#include "iasw_client_aim_target.h"
#include "object_motion_blur_effect.h"
#include "asw_shareddefs.h"
class CNewParticleEffect;
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
class C_ASW_Prop_Physics : public C_PhysicsProp, public IASW_Client_Aim_Target // asw make props potential aim targets
{
typedef C_PhysicsProp BaseClass;
public:
DECLARE_CLIENTCLASS();
// Other public methods
public:
C_ASW_Prop_Physics();
virtual ~C_ASW_Prop_Physics();
virtual void UpdateOnRemove();
void UpdateFireEmitters();
// asw
virtual void OnDataChanged( DataUpdateType_t updateType );
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_PHYSICS_PROP; }
IMPLEMENT_AUTO_LIST_GET();
virtual float GetRadius() { return 15; }
virtual bool IsAimTarget() { return m_bMadeAimTarget; }
virtual const Vector& GetAimTargetPos(const Vector &vecFiringSrc, bool bWeaponPrefersFlatAiming) { return WorldSpaceCenter(); }
virtual const Vector& GetAimTargetRadiusPos(const Vector &vecFiringSrc) { return WorldSpaceCenter(); }
bool m_bMadeAimTarget;
bool m_bIsAimTarget;
bool m_bOnFire, m_bClientOnFire;
CNewParticleEffect *m_pBurningEffect;
CMotionBlurObject m_MotionBlurObject;
};
#endif // C_ASW_PROP_PHYSICS_H