90 lines
2.7 KiB
C++
90 lines
2.7 KiB
C++
#pragma once
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
class LogicFlowController;
|
|
struct ScriptLogicInterface; // ScriptLogic.dll
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
typedef util::cSTRING_BUFFER<MAX_IPADDRESS_SIZE+1> IP_ADDRESS_STRING;
|
|
|
|
struct sConfigureNetwork
|
|
{
|
|
DWORD dwVClientCount; // 접속할 클라이언트 개수
|
|
IP_ADDRESS_STRING strLocalIP; //
|
|
WORD wLocalListenPort; //
|
|
IP_ADDRESS_STRING strLoginFrontIP;
|
|
WORD wLoginFrontPort;
|
|
//
|
|
IOHANDLER_DESC InfoIOHANDLER_DESC;
|
|
};
|
|
|
|
struct sDATA_CONTAINER;
|
|
|
|
typedef WorkLoadContainer<DWORD> LOGIC_FLOW_WORKLOAD_CONTAINER;
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////
|
|
typedef DWORD ACCOUNT_ID_T;
|
|
#define INVALID_ACCOUNT_ID ((ACCOUNT_ID_T)-1)
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
/////
|
|
class Manipulater
|
|
{
|
|
friend static void Manipulater_BaseFuntionByModule();
|
|
//
|
|
public: static const CHAR* CONFIG_NETWORK_FILENAME;
|
|
static const CHAR* CONFIG_ACCOUNT_INFO_FILENAME;
|
|
//////////////////////////////////////////////////////////////////////////
|
|
static const CHAR* CONFIG_ENGINE_3DENGINE_TERRAIN;
|
|
static const CHAR* CONFIG_ENGINE_NUMERIC;
|
|
private: Manipulater();
|
|
~Manipulater();
|
|
|
|
// <INTERFACEs>
|
|
public: static sConfigureNetwork* GetNetworkArguments();
|
|
static ScriptLogicInterface* GetScriptLogicInterface();
|
|
static IOCPServer*& IOCPServerREF();
|
|
static LogicFlowController* AllocLogicFlowController();
|
|
static void FreeLogicFlowController(LogicFlowController* pLogic);
|
|
|
|
// Manipulator 일괄 초기화...로?
|
|
static void CreateLogicFlowByWiseMode();
|
|
|
|
|
|
static ACCOUNT_ID_T AllocNewAccount();
|
|
static BOOL FreeAccount(ACCOUNT_ID_T accountID);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// <3D Engine
|
|
//public: static BOOL Register3DEngine_Terrain(HINSTANCE hDLL, FUNC_ContactTerrain fn, CLoadHelper* pLoadHelper);
|
|
// static FUNC_ContactTerrain InterfaceOf3DTerrain();
|
|
// static CLoadHelper* InterfaceOfLoadHelper();
|
|
|
|
private: static void _Initalize_AccountInfo();
|
|
private: static Manipulater* ms_pInstance;
|
|
};
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
struct sSIGNAL_BUFFER
|
|
{
|
|
typedef MSG_BUFFER<4096> sSIGNAL_BUFFER_DATA;
|
|
|
|
template<typename _TY>
|
|
inline static _TY& InstanceOf()
|
|
{ return BUFFER.InstanceOf<_TY>(); }
|
|
|
|
static sSIGNAL_BUFFER_DATA BUFFER;
|
|
};
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|