mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 15:09:19 +00:00
upload "kind" alien swarm
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef PHYSICS_PROP_STATUE_H
|
||||
#define PHYSICS_PROP_STATUE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "props.h"
|
||||
|
||||
|
||||
struct outer_collision_obb_t
|
||||
{
|
||||
bool bDirty;
|
||||
Vector vecPos;
|
||||
Vector vecMins;
|
||||
Vector vecMaxs;
|
||||
QAngle angAngles;
|
||||
|
||||
CUtlVector<short> iSpheres;
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: entity class for simple ragdoll physics
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// UNDONE: Move this to a private header
|
||||
class CStatueProp : public CPhysicsProp
|
||||
{
|
||||
DECLARE_CLASS( CStatueProp, CPhysicsProp );
|
||||
DECLARE_SERVERCLASS();
|
||||
DECLARE_DATADESC();
|
||||
|
||||
public:
|
||||
CStatueProp( void );
|
||||
|
||||
virtual void Spawn( void );
|
||||
virtual void Precache();
|
||||
|
||||
virtual bool CreateVPhysics();
|
||||
virtual void VPhysicsUpdate( IPhysicsObject *pPhysics );
|
||||
|
||||
//virtual float GetAutoAimRadius() { return 24.0f; }
|
||||
|
||||
virtual void ComputeWorldSpaceSurroundingBox( Vector *pMins, Vector *pMaxs );
|
||||
virtual bool TestCollision( const Ray_t &ray, unsigned int fContentsMask, trace_t& tr );
|
||||
virtual int OnTakeDamage( const CTakeDamageInfo &info );
|
||||
virtual void Event_Killed( const CTakeDamageInfo &info );
|
||||
|
||||
virtual void Freeze( float flFreezeAmount = -1.0f, CBaseEntity *pFreezer = NULL, Ray_t *pFreezeRay = NULL );
|
||||
|
||||
void CollisionPartnerThink( void );
|
||||
|
||||
private:
|
||||
|
||||
bool CreateVPhysicsFromHitBoxes( CBaseAnimating *pInitBaseAnimating );
|
||||
bool CreateVPhysicsFromOBBs( CBaseAnimating *pInitBaseAnimating );
|
||||
|
||||
public:
|
||||
|
||||
CNetworkHandle( CBaseAnimating, m_hInitBaseAnimating );
|
||||
|
||||
CNetworkVar( bool, m_bShatter );
|
||||
CNetworkVar( int, m_nShatterFlags );
|
||||
CNetworkVar( Vector, m_vShatterPosition );
|
||||
CNetworkVar( Vector, m_vShatterForce );
|
||||
|
||||
const CUtlVector<outer_collision_obb_t> *m_pInitOBBs;
|
||||
};
|
||||
|
||||
|
||||
CBaseEntity *CreateServerStatue( CBaseAnimating *pAnimating, int collisionGroup );
|
||||
CBaseEntity *CreateServerStatueFromOBBs( const CUtlVector<outer_collision_obb_t> &vecSphereOrigins, CBaseAnimating *pChildEntity );
|
||||
|
||||
|
||||
#endif // PHYSICS_PROP_STATUE_H
|
||||
Reference in New Issue
Block a user