mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-23 14:46:53 +00:00
78 lines
2.2 KiB
C
78 lines
2.2 KiB
C
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose: Defender player class
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef TF_CLASS_DEFENDER_H
|
||
|
#define TF_CLASS_DEFENDER_H
|
||
|
#pragma once
|
||
|
|
||
|
#include "TFClassData_Shared.h"
|
||
|
|
||
|
//=====================================================================
|
||
|
// Defender
|
||
|
class CPlayerClassDefender : public CPlayerClass
|
||
|
{
|
||
|
public:
|
||
|
DECLARE_CLASS( CPlayerClassDefender, CPlayerClass );
|
||
|
|
||
|
CPlayerClassDefender( CBaseTFPlayer *pPlayer, TFClass iClass );
|
||
|
~CPlayerClassDefender();
|
||
|
|
||
|
virtual void ClassActivate( void );
|
||
|
virtual void ClassDeactivate( void );
|
||
|
|
||
|
virtual const char* GetClassModelString( int nTeam );
|
||
|
|
||
|
// Class Initialization
|
||
|
virtual void CreateClass( void ); // Create the class upon initial spawn
|
||
|
virtual bool ResupplyAmmo( float flPercentage, ResupplyReason_t reason );
|
||
|
virtual void SetupMoveData( void ); // Override class specific movement data here.
|
||
|
virtual void SetupSizeData( void ); // Override class specific size data here.
|
||
|
virtual void ResetViewOffset( void );
|
||
|
|
||
|
PlayerClassDefenderData_t *GetClassData( void ) { return &m_ClassData; }
|
||
|
|
||
|
virtual void PlayerDied( CBaseEntity *pAttacker );
|
||
|
|
||
|
virtual void GainedNewTechnology( CBaseTechnology *pTechnology );
|
||
|
virtual void UpdateSentrygunTechnology( void );
|
||
|
|
||
|
// Sentrygun building
|
||
|
virtual int CanBuild( int iObjectType );
|
||
|
int CanBuildSentryGun();
|
||
|
virtual void FinishedObject( CBaseObject *pObject );
|
||
|
|
||
|
// Orders.
|
||
|
virtual void CreatePersonalOrder();
|
||
|
|
||
|
// Hooks
|
||
|
virtual void SetPlayerHull( void );
|
||
|
virtual void GetPlayerHull( bool bDucking, Vector &vecMin, Vector &vecMax );
|
||
|
|
||
|
// Player physics shadow.
|
||
|
void InitVCollision( void );
|
||
|
|
||
|
public:
|
||
|
// Sentrygun building
|
||
|
int m_iNumberOfSentriesAllowed;
|
||
|
bool m_bHasSmarterSentryguns;
|
||
|
bool m_bHasSensorSentryguns;
|
||
|
// Sentrygun types
|
||
|
bool m_bHasMachinegun;
|
||
|
bool m_bHasRocketlauncher;
|
||
|
bool m_bHasAntiair;
|
||
|
|
||
|
// Weapons
|
||
|
CHandle<CBaseTFCombatWeapon> m_hWpnPlasma;
|
||
|
|
||
|
private:
|
||
|
PlayerClassDefenderData_t m_ClassData;
|
||
|
};
|
||
|
|
||
|
EXTERN_SEND_TABLE( DT_PlayerClassDefenderData )
|
||
|
|
||
|
#endif // TF_CLASS_DEFENDER_H
|