63 lines
1.4 KiB
C++
Executable File
63 lines
1.4 KiB
C++
Executable File
/// \file
|
|
///
|
|
/// This file is part of RakNet Copyright 2003 Jenkins Software LLC
|
|
///
|
|
/// Usage of RakNet is subject to the appropriate license agreement.
|
|
|
|
|
|
#include "NetworkIDObject.h"
|
|
#include "NetworkIDManager.h"
|
|
#include "RakAssert.h"
|
|
#include "RakAlloca.h"
|
|
|
|
using namespace RakNet;
|
|
|
|
NetworkIDObject::NetworkIDObject()
|
|
{
|
|
networkID=UNASSIGNED_NETWORK_ID;
|
|
parent=0;
|
|
networkIDManager=0;
|
|
nextInstanceForNetworkIDManager=0;
|
|
}
|
|
NetworkIDObject::~NetworkIDObject()
|
|
{
|
|
if (networkID!=UNASSIGNED_NETWORK_ID)
|
|
networkIDManager->StopTrackingNetworkIDObject(this);
|
|
}
|
|
void NetworkIDObject::SetNetworkIDManager( NetworkIDManager *manager)
|
|
{
|
|
networkIDManager=manager;
|
|
}
|
|
NetworkIDManager * NetworkIDObject::GetNetworkIDManager( void )
|
|
{
|
|
return networkIDManager;
|
|
}
|
|
NetworkID NetworkIDObject::GetNetworkID( void )
|
|
{
|
|
if (networkID==UNASSIGNED_NETWORK_ID)
|
|
{
|
|
RakAssert(networkIDManager);
|
|
networkID = networkIDManager->GetNewNetworkID();
|
|
networkIDManager->TrackNetworkIDObject(this);
|
|
}
|
|
return networkID;
|
|
}
|
|
void NetworkIDObject::SetNetworkID( NetworkID id )
|
|
{
|
|
if (id==networkID)
|
|
return;
|
|
|
|
if (networkID!=UNASSIGNED_NETWORK_ID)
|
|
networkIDManager->StopTrackingNetworkIDObject(this);
|
|
networkID = id;
|
|
networkIDManager->TrackNetworkIDObject(this);
|
|
}
|
|
void NetworkIDObject::SetParent( void *_parent )
|
|
{
|
|
parent=_parent;
|
|
}
|
|
void* NetworkIDObject::GetParent( void ) const
|
|
{
|
|
return parent;
|
|
}
|