csgo-2018-source/game/server/logic_playerproxy.h
2021-07-24 21:11:47 -07:00

79 lines
2.5 KiB
C++

//========= Copyright © 1996-2008, Valve Corporation, All rights reserved. ====
//
// Purpose:
//
//=============================================================================
#ifndef LOGIC_PLAYERPROXY_H
#define LOGIC_PLAYERPROXY_H
#pragma once
//-----------------------------------------------------------------------------
// Purpose: Used to relay outputs/inputs from the player to the world and vice versa
//-----------------------------------------------------------------------------
class CLogicPlayerProxy : public CLogicalEntity
{
DECLARE_CLASS( CLogicPlayerProxy, CLogicalEntity );
DECLARE_DATADESC();
public:
// FIXME: Subclass
#ifdef PORTAL2
COutputEvent m_OnStartSlowingTime;
COutputEvent m_OnStopSlowingTime;
COutputEvent m_OnCoopPing;
COutputEvent m_OnPrimaryPortalPlaced;
COutputEvent m_OnSecondaryPortalPlaced;
#endif // PORTAL2
#if defined( HL2_DLL )
COutputEvent m_OnFlashlightOn;
COutputEvent m_OnFlashlightOff;
COutputEvent m_PlayerMissedAR2AltFire; // Player fired a combine ball which did not dissolve any enemies.
#endif // HL2_DLL
COutputEvent m_PlayerHasAmmo;
COutputEvent m_PlayerHasNoAmmo;
COutputEvent m_PlayerDied;
COutputEvent m_OnDuck;
COutputEvent m_OnUnDuck;
COutputEvent m_OnJump;
COutputInt m_RequestedPlayerHealth;
#if defined HL2_EPISODIC
void InputSetFlashlightSlowDrain( inputdata_t &inputdata );
void InputSetFlashlightNormalDrain( inputdata_t &inputdata );
void InputLowerWeapon( inputdata_t &inputdata );
void InputSetLocatorTargetEntity( inputdata_t &inputdata );
#endif // HL2_EPISODIC
void InputRequestPlayerHealth( inputdata_t &inputdata );
void InputSetPlayerHealth( inputdata_t &inputdata );
void InputRequestAmmoState( inputdata_t &inputdata );
void InputEnableCappedPhysicsDamage( inputdata_t &inputdata );
void InputDisableCappedPhysicsDamage( inputdata_t &inputdata );
#if defined ( PORTAL2 )
void InputAddPotatosToPortalgun( inputdata_t &inputdata );
void InputRemovePotatosFromPortalgun( inputdata_t &inputdata );
void InputSetDropEnabled( inputdata_t &inputdata );
void InputForceVMGrabController( inputdata_t &inputdata );
void InputForcePhysicsGrabController( inputdata_t &inputdata );
void InputResetGrabControllerBehavior( inputdata_t &inputdata );
void InputPaintPlayerWithPortalPaint( inputdata_t &inputdata );
void InputSetMotionBlurAmount( inputdata_t &inputdata );
#endif
void Activate( void );
bool PassesDamageFilter( const CTakeDamageInfo &info );
EHANDLE m_hPlayer;
};
#endif // LOGIC_PLAYERPROXY_H