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.
89 lines
2.0 KiB
89 lines
2.0 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose: The TF Game rules object
|
||
|
//
|
||
|
// $Workfile: $
|
||
|
// $Date: $
|
||
|
// $NoKeywords: $
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef SDK_GAMERULES_H
|
||
|
#define SDK_GAMERULES_H
|
||
|
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#include "teamplay_gamerules.h"
|
||
|
#include "convar.h"
|
||
|
#include "gamevars_shared.h"
|
||
|
|
||
|
#ifdef CLIENT_DLL
|
||
|
#include "c_baseplayer.h"
|
||
|
#else
|
||
|
#include "player.h"
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#ifdef CLIENT_DLL
|
||
|
#define CSDKGameRules C_SDKGameRules
|
||
|
#define CSDKGameRulesProxy C_SDKGameRulesProxy
|
||
|
#endif
|
||
|
|
||
|
|
||
|
class CSDKGameRulesProxy : public CGameRulesProxy
|
||
|
{
|
||
|
public:
|
||
|
DECLARE_CLASS( CSDKGameRulesProxy, CGameRulesProxy );
|
||
|
DECLARE_NETWORKCLASS();
|
||
|
};
|
||
|
|
||
|
|
||
|
class CSDKGameRules : public CTeamplayRules
|
||
|
{
|
||
|
public:
|
||
|
DECLARE_CLASS( CSDKGameRules, CTeamplayRules );
|
||
|
|
||
|
virtual bool ShouldCollide( int collisionGroup0, int collisionGroup1 );
|
||
|
|
||
|
virtual int PlayerRelationship( CBaseEntity *pPlayer, CBaseEntity *pTarget );
|
||
|
virtual bool IsTeamplay( void ) { return false; }
|
||
|
|
||
|
#ifdef CLIENT_DLL
|
||
|
|
||
|
DECLARE_CLIENTCLASS_NOBASE(); // This makes datatables able to access our private vars.
|
||
|
|
||
|
#else
|
||
|
|
||
|
DECLARE_SERVERCLASS_NOBASE(); // This makes datatables able to access our private vars.
|
||
|
|
||
|
CSDKGameRules();
|
||
|
virtual ~CSDKGameRules();
|
||
|
|
||
|
virtual bool ClientCommand( CBaseEntity *pEdict, const CCommand &args );
|
||
|
virtual void RadiusDamage( const CTakeDamageInfo &info, const Vector &vecSrcIn, float flRadius, int iClassIgnore );
|
||
|
virtual void Think();
|
||
|
|
||
|
virtual const char *GetChatPrefix( bool bTeamOnly, CBasePlayer *pPlayer );
|
||
|
|
||
|
private:
|
||
|
|
||
|
void RadiusDamage( const CTakeDamageInfo &info, const Vector &vecSrcIn, float flRadius, int iClassIgnore, bool bIgnoreWorld );
|
||
|
|
||
|
|
||
|
#endif
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Gets us at the team fortress game rules
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
inline CSDKGameRules* SDKGameRules()
|
||
|
{
|
||
|
return static_cast<CSDKGameRules*>(g_pGameRules);
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif // SDK_GAMERULES_H
|