#pragma once ////////////////////////////////////////////////////////////////////////// class LogicFlowController; struct ScriptLogicInterface; // ScriptLogic.dll ////////////////////////////////////////////////////////////////////////// typedef util::cSTRING_BUFFER 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 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(); // 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 inline static _TY& InstanceOf() { return BUFFER.InstanceOf<_TY>(); } static sSIGNAL_BUFFER_DATA BUFFER; }; // //////////////////////////////////////////////////////////////////////////