gdle/Source/ObjectIDGen.cpp

38 lines
No EOL
602 B
C++

#include "StdAfx.h"
#include "ObjectIDGen.h"
#include "DatabaseIO.h"
CObjectIDGenerator::CObjectIDGenerator()
{
m_dwHintDynamicGUID = 0x80000000;
LoadState();
}
CObjectIDGenerator::~CObjectIDGenerator()
{
}
void CObjectIDGenerator::LoadState()
{
m_dwHintDynamicGUID = g_pDBIO->GetHighestWeenieID(0x80000000, 0xFF000000);
}
DWORD CObjectIDGenerator::GenerateGUID(eGUIDClass type)
{
switch (type)
{
case eDynamicGUID:
{
if (m_dwHintDynamicGUID >= 0xF0000000)
{
SERVER_ERROR << "Dynamic GUID overflow!";
return 0;
}
return (++m_dwHintDynamicGUID);
}
}
return 0;
}