core/CPlayer.h
author David Anderson <dvander@alliedmods.net>
Wed Jan 17 06:49:59 2007 +0000 (2007-01-17)
changeset 308 f0e65f92cb34
parent 242 9dcd59d9014a
child 370 d3a484f98f6d
permissions -rw-r--r--
Redesigned how server commands work. The "plugins" command will be back soon.
faluco@242
     1
#ifndef _INCLUDE_SOURCEMOD_CPLAYER_H_
faluco@242
     2
#define _INCLUDE_SOURCEMOD_CPLAYER_H_
faluco@242
     3
faluco@242
     4
#include <sh_string.h>
faluco@242
     5
#include <eiface.h>
faluco@242
     6
faluco@242
     7
using namespace SourceHook;
faluco@242
     8
faluco@242
     9
class CPlayer
faluco@242
    10
{
faluco@242
    11
	friend class CPlayerManager;
faluco@242
    12
public:
faluco@242
    13
	CPlayer();
faluco@242
    14
public:
faluco@242
    15
	const char *PlayerName() const;
faluco@242
    16
	const char *PlayerIP() const;
faluco@242
    17
	const char *PlayerAuthString() const;
faluco@242
    18
	edict_t *GetPlayerEdict() const;
faluco@242
    19
	bool IsPlayerInGame() const;
faluco@242
    20
	bool IsPlayerConnected() const;
faluco@242
    21
	bool IsPlayerAuthorized() const;
faluco@242
    22
	bool IsPlayerFakeClient() const;
faluco@242
    23
	//:TODO: is user alive function
faluco@242
    24
private:
faluco@242
    25
	void Initialize(const char *name, const char *ip, edict_t *pEntity);
faluco@242
    26
	void Connect();
faluco@242
    27
	void Authorize(const char *steamid);
faluco@242
    28
	void Disconnect();
faluco@242
    29
	void SetName(const char *name);
faluco@242
    30
private:
faluco@242
    31
	bool m_IsConnected;
faluco@242
    32
	bool m_IsInGame;
faluco@242
    33
	bool m_IsAuthorized;
faluco@242
    34
	String m_Name;
faluco@242
    35
	String m_Ip;
faluco@242
    36
	String m_AuthID;
faluco@242
    37
	edict_t *m_PlayerEdict;
faluco@242
    38
};
faluco@242
    39
faluco@242
    40
inline const char *CPlayer::PlayerName() const
faluco@242
    41
{
faluco@242
    42
	return m_Name.c_str();
faluco@242
    43
}
faluco@242
    44
faluco@242
    45
inline const char *CPlayer::PlayerIP() const
faluco@242
    46
{
faluco@242
    47
	return m_Ip.c_str();
faluco@242
    48
}
faluco@242
    49
faluco@242
    50
inline const char *CPlayer::PlayerAuthString() const
faluco@242
    51
{
faluco@242
    52
	return m_AuthID.c_str();
faluco@242
    53
}
faluco@242
    54
faluco@242
    55
inline edict_t *CPlayer::GetPlayerEdict() const
faluco@242
    56
{
faluco@242
    57
	return m_PlayerEdict;
faluco@242
    58
}
faluco@242
    59
faluco@242
    60
inline bool CPlayer::IsPlayerInGame() const
faluco@242
    61
{
faluco@242
    62
	return m_IsInGame;
faluco@242
    63
}
faluco@242
    64
faluco@242
    65
inline bool CPlayer::IsPlayerConnected() const
faluco@242
    66
{
faluco@242
    67
	return m_IsConnected;
faluco@242
    68
}
faluco@242
    69
faluco@242
    70
inline bool CPlayer::IsPlayerAuthorized() const
faluco@242
    71
{
faluco@242
    72
	return m_IsAuthorized;
faluco@242
    73
}
faluco@242
    74
faluco@242
    75
inline bool CPlayer::IsPlayerFakeClient() const
faluco@242
    76
{
faluco@242
    77
	return (strcmp(m_AuthID.c_str(), "BOT") == 0);
faluco@242
    78
}
faluco@242
    79
faluco@242
    80
#endif // _INCLUDE_SOURCEMOD_CPLAYER_H_