summaryrefslogtreecommitdiff
path: root/game/client/tf2/c_tf_playerclass.h
blob: 36e43177bd0031933cf679241a07e98af3a01a89 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Auto Repair
//
// $NoKeywords: $
//=============================================================================//

#ifndef C_TF_PLAYERCLASS_H
#define C_TF_PLAYERCLASS_H
#ifdef _WIN32
#pragma once
#endif

class C_BaseTFPlayer;
class CUserCmd;

class C_PlayerClass
{
public:

	DECLARE_CLASS_NOBASE( C_PlayerClass );

	C_PlayerClass( C_BaseTFPlayer *pPlayer );
	~C_PlayerClass();

	static C_PlayerClass   *Create( C_BaseTFPlayer *pPlayer, int iClassType );
	static void				Destroy( C_PlayerClass *pPlayerClass );

	virtual void			PreClassThink( void ) {};
	virtual void			ClassThink( void ) {};
	virtual void			PostClassThink( void ) {};

	virtual void			ClassPreDataUpdate( void ) {};
	virtual void			ClassOnDataChanged( void ) {};

	virtual void			CreateMove( float flInputSampleTime, CUserCmd *pCmd ) {};

	// Vehicles
	virtual bool			CanGetInVehicle( void ) { return true; }

protected:

	C_BaseTFPlayer		*m_pPlayer;		// reference to player (peer)
};


#include "TFClassData_Shared.h"


#endif // C_TF_PLAYERCLASS_H