Files
Sun1602/Client/GameClient/SlotKeyGenerator.cpp
T
2022-10-26 12:25:11 +08:00

74 lines
1.4 KiB
C++

//------------------------------------------------------------------------------
// SlotKeyGenerator.cpp
// (C) 2005 Webzen Sunstudio
//------------------------------------------------------------------------------
#include "SunClientPrecompiledHeader.h"
#include "slotkeygenerator.h"
SlotKeyGenerator g_SlotKeyGenerator;
SlotKeyGenerator::SlotKeyGenerator( void )
//: m_keyGenerator( 0 )
{
// empty
}
SlotKeyGenerator::~SlotKeyGenerator( void )
{
//assert( !m_keyGenerator );
}
void SlotKeyGenerator::Init( void )
{
//assert( !m_keyGenerator );
//m_keyGenerator = new util::CObjKeyGenerator<DWORD>( 1, 100000 );
//assert( m_keyGenerator );
current_max_key_ = 1;
restored_key.clear();
}
void SlotKeyGenerator::Release( void )
{
//if( m_keyGenerator )
//{
// delete m_keyGenerator;
// m_keyGenerator = NULL;
//}
restored_key.clear();
}
DWORD SlotKeyGenerator::GetKey( void )
{
//assert( m_keyGenerator );
//DWORD key = m_keyGenerator->GetKey();
//assert( key != 0 );
if (restored_key.empty() == false)
{
DWORD key = restored_key.front();
restored_key.pop_front();
return key;
}
DWORD key = current_max_key_++;
if (current_max_key_ > 100000) {
current_max_key_ = 1;
}
return key;
}
void SlotKeyGenerator::Restore( DWORD key )
{
//assert( m_keyGenerator );
//assert( key != 0 );
//m_keyGenerator->RestoreKey( key );
restored_key.push_back(key);
}