Files
Sun1602/Tools/WiseClient/Function/ObjectPoolRouter.cpp
T
2022-10-26 12:25:11 +08:00

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