Danbias/Code/Game/GameServer/Implementation/GameClient.cpp

53 lines
1.2 KiB
C++
Raw Normal View History

2014-01-28 09:00:02 +01:00
/////////////////////////////////////////////////////////////////////
// Created by [Dennis Andersen] [2013]
/////////////////////////////////////////////////////////////////////
#include "..\GameClient.h"
#include <NetworkSession.h>
#include <Protocols.h>
using namespace Utility::DynamicMemory;
2014-01-29 10:18:01 +01:00
using namespace Oyster::Network;
2014-01-28 09:00:02 +01:00
using namespace DanBias;
using namespace GameLogic;
static int gameClientIDCount = 1;
2014-01-29 10:18:01 +01:00
GameClient::GameClient(SmartPointer<NetworkClient> client, GameLogic::IPlayerData* player)
2014-01-28 09:00:02 +01:00
{
this->client = client;
this->id = gameClientIDCount++;
this->player = player;
}
GameClient::~GameClient()
{
2014-01-29 10:18:01 +01:00
this->client->Disconnect();
2014-01-28 09:00:02 +01:00
this->player = 0;
this->id = -1;
}
GameLogic::IPlayerData* GameClient::GetPlayer()
{
return this->player;
}
GameLogic::IPlayerData* GameClient::ReleasePlayer()
{
GameLogic::IPlayerData *temp = this->player;
this->player = 0;
return temp;
}
2014-01-29 10:18:01 +01:00
SmartPointer<Oyster::Network::NetworkClient> GameClient::GetClient()
2014-01-28 09:00:02 +01:00
{
2014-01-29 10:18:01 +01:00
return this->client;
2014-01-28 09:00:02 +01:00
}
2014-01-29 10:18:01 +01:00
SmartPointer<Oyster::Network::NetworkClient> GameClient::ReleaseClient()
2014-01-28 09:00:02 +01:00
{
2014-01-29 10:18:01 +01:00
SmartPointer<Oyster::Network::NetworkClient> temp = this->client;
this->client = 0;
2014-01-28 09:00:02 +01:00
return temp;
}
int GameClient::GetID() const
{
return this->id;
}