Files
Sun1602/Tools/WiseClient/Logic/Logic.Passive.h
T
2022-10-26 12:25:11 +08:00

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"
//