42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "LogicFlowController.h"
|
|
|
|
#define LF_HANDLER_PASSIVE_DECL(name) LF_RESULT name##_HANDLER(PASSING_ARG IN arguments)
|
|
#define LF_HANDLER_PASSIVE_IMPL(name) LF_RESULT PassiveLogic::name##_HANDLER(PASSING_ARG IN arguments)
|
|
#define LF_HANDLER_PASSIVE_IMPL_NULL(name) LF_RESULT PassiveLogic::name##_HANDLER(PASSING_ARG IN arguments) { DEBUGGING_CODE_L1(); return LFRET_SUCCESS_DEFAULT; }
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
|
|
class PassiveLogic
|
|
{
|
|
public: typedef LF_RESULT (PassiveLogic::*ProcessHandler)(PASSING_ARG IN arguments);
|
|
|
|
public: PassiveLogic();
|
|
~PassiveLogic();
|
|
static void CreateTable();
|
|
static void ReleaseTable();
|
|
|
|
inline void SetParentContainer(LogicFlowController* pContainer) { m_pContainer = pContainer; }
|
|
inline LogicFlowController* GetParentContainer() { return m_pContainer; }
|
|
|
|
virtual BOOL DoInit();
|
|
virtual BOOL DoProcess();
|
|
virtual BOOL IsComplete();
|
|
virtual BOOL DoRelease();
|
|
|
|
virtual void OnMsg(sSIG_MSG* pSIG_MSG);
|
|
|
|
private: LogicFlowController* m_pContainer;
|
|
|
|
// <LOGIC FLOW HANDLER>
|
|
public:
|
|
};
|
|
|
|
// 세부 타입들은 여기서 포함시켜 사용할 것
|
|
#include "Logic.Passive.IncludeList.h"
|
|
//
|
|
|