40 lines
1.2 KiB
C++
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;
|
|
};
|
|
|