Files
2022-10-26 12:25:11 +08:00

40 lines
1.2 KiB
C++

#pragma once
#include "..\\..\\SolarTrigger\\IConditionTrigger.h"
#define __CONDITION_PROPERTY( name ) __PTR_PROPERTY( name##_INFO, )
#define __BEGIN_DECL_CONDITION( ConcreteCondition ) \
class ConcreteCondition : public IConditionTriggerEx \
{ \
__DECLARE_POOL( ConcreteCondition ) \
__CONDITION_PROPERTY( ConcreteCondition ) \
public: \
ConcreteCondition(){OnInstanciate();} \
~ConcreteCondition(){} \
WORD TriggerType() { return e##ConcreteCondition; }
#define __END_DECL_CONDITION \
};
class Trigger;
class TriggerManagerEx;
//¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
// <IConditionTriggerEx>
class IConditionTriggerEx : public IConditionTrigger
{
public: IConditionTriggerEx();
virtual ~IConditionTriggerEx();
public: VOID Init( TriggerManager* pMGR, Trigger* pParent );
protected: inline TriggerManagerEx* getMGR() { return (TriggerManagerEx*)m_pTriggerMGR; }
inline Trigger* getParent() { return m_pParent; }
private: TriggerManager* m_pTriggerMGR;
Trigger* m_pParent;
};