// Á¾ÇÕ¼Ö·ç¼Ç.cpp : ÄÜ¼Ö ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ëÇÑ ÁøÀÔÁ¡À» Á¤ÀÇÇÕ´Ï´Ù. // #include "stdafx.h" #include "WiseClientV2.CoreFrame.h" #include #include #include #include ////////////////////////////////////////////////////////////////////////// DECLARE_BASE_WISE_STEP_FUNCTION() { //DISPMSG("WiseClient V2 Update\n"); //// UserÇÒ´ç //Manipulater::CreateLogicFlowByWiseMode(); }; REGISTER_STEP_HANDLER_BASE(eWISE_ROUTINES_INIT_MAIN_FRAME); ////////////////////////////////////////////////////////////////////////// // static CoreFrame* s_pCoreFrame = NULL; static BOOL s_bContinue = TRUE; class IWorkNodeCoreLifeTime : public IWorkNode { public: IWorkNodeCoreLifeTime() {} ~IWorkNodeCoreLifeTime() {} public: virtual BOOL DoInit() { return TRUE; }; virtual BOOL DoProcess() { return TRUE; }; virtual BOOL DoRelease() { return TRUE; }; virtual BOOL IsComplete() { return !s_bContinue; }; virtual void OnMsg(sSIG_MSG* pSIG_MSG) { sSIG_LF_MAIN& rSIG_PLOGIC = *(sSIG_LF_MAIN*)pSIG_MSG; eWISESUBTYPE& rSUBTYPE = rSIG_PLOGIC.SUBTYPE(); if(sSIG_LF_MAIN::CLOSURE_STEP == rSUBTYPE) { s_bContinue = FALSE; } }; }; CoreFrame::CoreFrame() { s_bContinue = TRUE; ScriptLogicFrame::CreateInstance(); IWorkNodeCoreLifeTime* pWorkNode = new IWorkNodeCoreLifeTime(); WorkLoadManager::RegisterTask(pWorkNode); } CoreFrame::~CoreFrame() { s_bContinue = FALSE; LogicFlowController::ReleaseTable(); ScriptManager::DestroyInstance(); EngineInterface::ReleaseInstance(); MsgHandler::DestroyInstance(); ObjectManager::DestroyInstance(); ScriptLogicFrame::DestroyInstance(); } void CoreFrame::CreateInstance() { if(!s_pCoreFrame) s_pCoreFrame = new CoreFrame(); } void CoreFrame::DestroyInstance() { SAFE_DELETE(s_pCoreFrame); } CoreFrame* CoreFrame::GetCoreFrame() { return s_pCoreFrame; } void CoreFrame::Init() { //for(INT iSTEP = eWISE_ROUTINES_LOGO; iSTEP void CoreFrame::Update(sSIG_MSG* pSIG_MSG) { // ³×Æ®¿öÅ© ¿£ÁøÀÇ °æ¿ì´Â ´Ù¸¥ ¿£ÁøÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù°í ¿°µÎÇØµÎÀÚ. IOCPServer* pIOCPServer = Manipulater::IOCPServerREF(); pIOCPServer->Update(); if(pSIG_MSG) { WorkLoadManager::OnMsg(pSIG_MSG); } }