108 lines
3.1 KiB
C++
108 lines
3.1 KiB
C++
#include "stdafx.h"
|
|
#include "ObjectPoolRouter.h"
|
|
|
|
#include <Sessions/ServerSession.AgentServer.h>
|
|
#include <Sessions/ServerSession.LoginFront.h>
|
|
#include <Sessions/ServerSession.WorldServer.h>
|
|
|
|
#include <Object/WiseUser.h>
|
|
#include <Object/WiseCharacter.h>
|
|
#include <Object/Monster.h>
|
|
|
|
#include <Sessions/UserSessionMgr.h>
|
|
|
|
#include <Information/Account/AccountInfo.h>
|
|
#include <Information/Zone/MapTypes.h>
|
|
#include <Information/Zone/GameZone.h>
|
|
#include <Information/Zone/GameField.h>
|
|
|
|
static ObjectPoolRouter s_ObjectPoolRouter;
|
|
|
|
ObjectPoolRouter::ObjectPoolRouter()
|
|
{
|
|
m_pPoolRouter = new OBJECT_POOL_ROUTER;
|
|
}
|
|
|
|
ObjectPoolRouter::~ObjectPoolRouter()
|
|
{
|
|
// object history 확인할 수 있는 좋은 방법이 없는가?
|
|
SAFE_DELETE(m_pPoolRouter);
|
|
}
|
|
|
|
BOOL ObjectPoolRouter::InitializeByPoolInfo(sPOOL_SIZE_INFO* pSizeInfo)
|
|
{
|
|
//if(!pSizeInfo)
|
|
// return FALSE;
|
|
|
|
//sPOOL_SIZE_INFO& rINFO = *pSizeInfo;
|
|
//if(!rINFO.dwUserPoolBase) rINFO.dwUserPoolBase = 10;
|
|
//if(!rINFO.dwUserPoolExtend) rINFO.dwUserPoolExtend = 10;
|
|
//if(!rINFO.dwTempUserPoolBase) rINFO.dwTempUserPoolBase = 10;
|
|
//if(!rINFO.dwTempUserPoolExtend) rINFO.dwTempUserPoolExtend = 10;
|
|
|
|
//
|
|
//m_pPoolRouter->Register<REF_DELEGATOR>(OBJTYPE_DELEGATOR);
|
|
//m_pPoolRouter->Initialize(OBJTYPE_DELEGATOR, 100, 100);
|
|
|
|
m_pPoolRouter->Register<sLINKEDLIST_NODE>(OBJTYPE_LINKEDLIST);
|
|
m_pPoolRouter->Initialize(OBJTYPE_LINKEDLIST, 100, 100);
|
|
|
|
m_pPoolRouter->Register<ServerSessionLoginFront>(OBJTYPE_SERVER_LOGINFRONT);
|
|
m_pPoolRouter->Initialize(OBJTYPE_SERVER_LOGINFRONT, 10, 10);
|
|
|
|
m_pPoolRouter->Register<ServerSessionAgentServer>(OBJTYPE_SERVER_AGENT);
|
|
m_pPoolRouter->Initialize(OBJTYPE_SERVER_AGENT, 10, 10);
|
|
|
|
m_pPoolRouter->Register<ServerSessionWorldServer>(OBJTYPE_SERVER_WORLD);
|
|
m_pPoolRouter->Initialize(OBJTYPE_SERVER_WORLD, 10, 10);
|
|
|
|
m_pPoolRouter->Register<WiseUser>(OBJTYPE_USER);
|
|
m_pPoolRouter->Initialize(OBJTYPE_USER, 10, 10);
|
|
|
|
m_pPoolRouter->Register<WiseCharacter>(OBJTYPE_CHARACTER);
|
|
m_pPoolRouter->Initialize(OBJTYPE_CHARACTER, 10, 10);
|
|
|
|
//m_pPoolRouter->Register<LogicFlowController>(OBJTYPE_LOGIC_ACTIVE);
|
|
//m_pPoolRouter->Initialize(OBJTYPE_LOGIC_ACTIVE, 10, 10);
|
|
|
|
//m_pPoolRouter->Register<LogicFlowController>(OBJTYPE_LOGIC_PASSIVE);
|
|
//m_pPoolRouter->Initialize(OBJTYPE_LOGIC_PASSIVE, 10, 10);
|
|
|
|
m_pPoolRouter->Register<sACCOUNT>(OBJTYPE_ACCOUNT_INFO);
|
|
m_pPoolRouter->Initialize(OBJTYPE_ACCOUNT_INFO, 10, 10);
|
|
|
|
m_pPoolRouter->Register<sMAPOBJECT_INFO>(OBJTYPE_MAPOBJECT_INFO);
|
|
m_pPoolRouter->Initialize(OBJTYPE_MAPOBJECT_INFO, 100, 100);
|
|
|
|
m_pPoolRouter->Register<GameZone>(OBJTYPE_GAMEZONE);
|
|
m_pPoolRouter->Initialize(OBJTYPE_GAMEZONE, 10, 10);
|
|
|
|
m_pPoolRouter->Register<GameField>(OBJTYPE_GAMEFIELD);
|
|
m_pPoolRouter->Initialize(OBJTYPE_GAMEFIELD, 10, 10);
|
|
|
|
m_pPoolRouter->Register<Monster>(OBJTYPE_MONSTER);
|
|
m_pPoolRouter->Initialize(OBJTYPE_MONSTER, 10, 10);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
//void ObjectPoolRouter::CreateInstance()
|
|
//{
|
|
// //if(!s_ObjectPoolRouter)
|
|
// // s_ObjectPoolRouter = new ObjectPoolRouter();
|
|
//}
|
|
//
|
|
//void ObjectPoolRouter::DestroyInstance()
|
|
//{
|
|
// //SAFE_DELETE(s_ObjectPoolRouter);
|
|
//}
|
|
|
|
ObjectPoolRouter* ObjectPoolRouter::Instance()
|
|
{
|
|
return &s_ObjectPoolRouter;
|
|
}
|
|
|
|
|
|
|
|
|