184 lines
4.5 KiB
C++
184 lines
4.5 KiB
C++
#include "stdafx.h"
|
|
|
|
#include <Logic/Logic.PeriodicWork.h>
|
|
#include <Logic/Logic.Active.h>
|
|
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000000_START_MARK_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
return LFRET_SUCCESS_DEFAULT;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000010_START_CONNECTION_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
LogicFlowController& rCONTROLLER = *(LogicFlowController*)pDelegator->REF();
|
|
LogicFlowConnection* pWorkNode = new LogicFlowConnection(rCONTROLLER);
|
|
WORK_KEY wkWorkKey = WorkLoadManager::RegisterTask(pWorkNode);
|
|
if(WorkLoadManager::c_NotExistKey == wkWorkKey)
|
|
{
|
|
DEBUGGING_CODE_L1("Can't Register");
|
|
SAFE_DELETE(pWorkNode);
|
|
return LFRET_FAIL;
|
|
}
|
|
|
|
rCONTROLLER.WORK_LOAD().RegisterWork(wkWorkKey, (DWORD)(__int64)pWorkNode);
|
|
|
|
return LFRET_SUCCESS_DEFAULT;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000012_WAIT_NEXT_ACTION_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
return LFRET_PENDING_UNTIL_PASSIVE;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000020_START_ZONE_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
|
|
LogicFlowController& rCONTROLLER = *(LogicFlowController*)pDelegator->REF();
|
|
LogicFlowZone* pWorkNode = new LogicFlowZone(rCONTROLLER);
|
|
WORK_KEY wkWorkKey = WorkLoadManager::RegisterTask(pWorkNode);
|
|
if(WorkLoadManager::c_NotExistKey == wkWorkKey)
|
|
{
|
|
DEBUGGING_CODE_L1("Can't Register");
|
|
SAFE_DELETE(pWorkNode);
|
|
return LFRET_FAIL;
|
|
}
|
|
|
|
rCONTROLLER.WORK_LOAD().RegisterWork(wkWorkKey, (DWORD)(__int64)pWorkNode);
|
|
|
|
return LFRET_SUCCESS_DEFAULT;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000022_WAIT_NEXT_ACTION_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
|
|
//LogicFlowController& rCONTROLLER = *(LogicFlowController*)pDelegator->REF();
|
|
//rCONTROLLER.GotoStep(S_000080_UPDATE_LOOP_LF, NULL);
|
|
//return LFRET_SUCCESS_JUMP;
|
|
|
|
return LFRET_PENDING_UNTIL_PASSIVE;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000026_START_MOVE_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
|
|
LogicFlowController& rCONTROLLER = *(LogicFlowController*)pDelegator->REF();
|
|
LogicFlowMove* pWorkNode = new LogicFlowMove(rCONTROLLER);
|
|
WORK_KEY wkWorkKey = WorkLoadManager::RegisterTask(pWorkNode);
|
|
if(WorkLoadManager::c_NotExistKey == wkWorkKey)
|
|
{
|
|
DEBUGGING_CODE_L1("Can't Register");
|
|
SAFE_DELETE(pWorkNode);
|
|
return LFRET_FAIL;
|
|
}
|
|
|
|
// MOVE 관련 처리 안하도록
|
|
rCONTROLLER.WORK_LOAD().RegisterWork(wkWorkKey, (DWORD)(__int64)pWorkNode);
|
|
|
|
return LFRET_SUCCESS_DEFAULT;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000028_WAIT_NEXT_ACTION_LF)
|
|
{
|
|
LogicFlowController& rCONTROLLER = *(LogicFlowController*)pDelegator->REF();
|
|
rCONTROLLER.GotoStep(S_000080_UPDATE_LOOP_LF, NULL);
|
|
|
|
return LFRET_SUCCESS_JUMP;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000030_START_BATTLE_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
return LFRET_SUCCESS_DEFAULT;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000032_WAIT_NEXT_ACTION_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
|
|
LogicFlowController& rCONTROLLER = *(LogicFlowController*)pDelegator->REF();
|
|
rCONTROLLER.GotoStep(S_000080_UPDATE_LOOP_LF, NULL);
|
|
|
|
return LFRET_SUCCESS_JUMP;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000040_START_AI_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
return LFRET_SUCCESS_DEFAULT;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000042_WAIT_NEXT_ACTION_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
|
|
LogicFlowController& rCONTROLLER = *(LogicFlowController*)pDelegator->REF();
|
|
rCONTROLLER.GotoStep(S_000080_UPDATE_LOOP_LF, NULL);
|
|
|
|
return LFRET_SUCCESS_JUMP;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000050_START_CHAT_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
return LFRET_SUCCESS_DEFAULT;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000052_WAIT_NEXT_ACTION_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
|
|
LogicFlowController& rCONTROLLER = *(LogicFlowController*)pDelegator->REF();
|
|
rCONTROLLER.GotoStep(S_000080_UPDATE_LOOP_LF, NULL);
|
|
|
|
return LFRET_SUCCESS_JUMP;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000080_UPDATE_LOOP_LF)
|
|
{
|
|
// Return Code추가가 필요하다. 해당 루틴으로 계속 들어올 수 있는...
|
|
// 아님 GotoStep을 사용할까?
|
|
// DEBUGGING_CODE_L3("");
|
|
//LogicFlowController* pController = (LogicFlowController*)pDelegator->REF();
|
|
//pController->GotoStep(S_000080_UPDATE_LOOP_LF, NULL);
|
|
|
|
//sSIG_STEP& rSIGNAL = sSIGNAL_BUFFER::InstanceOf<sSIG_STEP>();
|
|
//rSIGNAL.SUBTYPE() = sSIG_STEP::ACTIVATE_JUMP_STEP;
|
|
//sSIG_STEP_ARG& rARG = rSIGNAL.TypeOf<sSIG_STEP_ARG>();
|
|
//rARG.GROUP = LFG_MAX;
|
|
//rARG.STEP = S_000080_UPDATE_LOOP_LF;
|
|
|
|
|
|
return LFRET_SUCCESS_LOOP;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000085_EOL_FLOW_CONTROL_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
|
|
LogicFlowController& rCONTROLLER = *(LogicFlowController*)pDelegator->REF();
|
|
rCONTROLLER.GotoStep(S_000080_UPDATE_LOOP_LF, NULL);
|
|
|
|
return LFRET_SUCCESS_JUMP;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000090_CLOSURE_EXCEPTION_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
return LFRET_SUCCESS_DEFAULT;
|
|
}
|
|
|
|
LF_ACTIVE_HANDLER_IMPL(S_000099_CLOSURE_MARK_LF)
|
|
{
|
|
DEBUGGING_CODE_L3("");
|
|
return LFRET_SUCCESS_DEFAULT;
|
|
}
|
|
|
|
|