Files
minecraft-pe-0.6.1/project/lib_projects/raknet/jni/RaknetSources/NetworkIDObject.cpp
2026-03-02 22:04:18 +03:00

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;
}