mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 23:19:18 +00:00
upload "kind" alien swarm
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
#ifndef _DEFINED_ASW_USE_AREA_H
|
||||
#define _DEFINED_ASW_USE_AREA_H
|
||||
|
||||
#include "triggers.h"
|
||||
#include "asw_shareddefs.h"
|
||||
#include "iasw_server_usable_entity.h"
|
||||
|
||||
class CASW_Player;
|
||||
|
||||
DECLARE_AUTO_LIST( IASW_Use_Area_List );
|
||||
|
||||
class CASW_Use_Area : public CTriggerMultiple, public IASW_Server_Usable_Entity, public IASW_Use_Area_List
|
||||
{
|
||||
DECLARE_CLASS( CASW_Use_Area, CTriggerMultiple );
|
||||
public:
|
||||
CASW_Use_Area();
|
||||
void Spawn( void );
|
||||
|
||||
virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo );
|
||||
virtual int UpdateTransmitState();
|
||||
|
||||
DECLARE_SERVERCLASS();
|
||||
DECLARE_DATADESC();
|
||||
|
||||
string_t m_iUseTargetName; // the name of the door area's door; linked into m_pParent during Activate()
|
||||
CNetworkHandle( CBaseEntity, m_hUseTarget ); // the door we're attached to
|
||||
CNetworkVar( bool, m_bUseAreaEnabled );
|
||||
int m_nPlayersRequired;
|
||||
|
||||
COutputEvent m_OnRequirementFailed;
|
||||
|
||||
virtual Class_T Classify() { return CLASS_HACKED_ROLLERMINE; }
|
||||
|
||||
// IASW_Server_Usable_Entity implementation
|
||||
virtual CBaseEntity* GetEntity() { return this; }
|
||||
virtual bool IsUsable(CBaseEntity *pUser);
|
||||
virtual bool RequirementsMet(CBaseEntity *pUser);
|
||||
// fill in by subclasses
|
||||
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ) { }
|
||||
virtual void MarineStartedUsing(CASW_Marine* pMarine) { }
|
||||
virtual void MarineStoppedUsing(CASW_Marine* pMarine) { }
|
||||
virtual void MarineUsing(CASW_Marine* pMarine, float fDeltaTime) { }
|
||||
virtual void ActivateMultiTrigger(CBaseEntity *pActivator);
|
||||
virtual bool NeedsLOSCheck() { return false; }
|
||||
|
||||
virtual void UpdateWaitingForInput() {}
|
||||
virtual void UpdatePanelSkin() {}
|
||||
|
||||
// override these and do our own enabling/disabling
|
||||
virtual void InputEnable( inputdata_t &inputdata );
|
||||
virtual void InputDisable( inputdata_t &inputdata );
|
||||
virtual void InputToggle( inputdata_t &inputdata );
|
||||
|
||||
string_t m_szPanelPropName;
|
||||
bool m_bMultiplePanelProps;
|
||||
virtual CBaseEntity* GetProp() { return m_hPanelProp; }
|
||||
// link to the prop representing us
|
||||
CNetworkHandle( CBaseEntity, m_hPanelProp );
|
||||
};
|
||||
|
||||
#endif /* _DEFINED_ASW_USE_AREA_H */
|
||||
Reference in New Issue
Block a user