⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 triggercommon.h

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 H
字号:

#pragma once

#include <MemoryPoolFactory.h>
// 炼扒 飘府芭 鸥涝 
// 3D浚柳评俊辑 鸥涝 蔼阑 函版瞪 版快
// 1. enum eCONDITION_TYPE阑 函版茄促.
// 2. ConditionInfo甫 惑加罐绰 窍困 努贰胶甫 函版茄促.

enum eCONDITION_TYPE
{
	eCONDITION_ALWAYS				= 0,	// 亲惑
	eCONDITION_COMPARE_SWITCH		= 1,	// 胶困摹 厚背
	eCONDITION_CLICK_OBJECT			= 2,	// 坷宏璃飘 努腐
	eCONDITION_DAMAGE_OBJECT		= 3,	// 坷宏璃飘 单固瘤 涝澜
	eCONDITION_COUNT_NPCKILL		= 4,	// 阁胶磐 荤成 付府荐
	eCONDITION_PASS_TIME			= 5,	// 老沥矫埃捞 儒抚
	eCONDITION_ENTER_AREA			= 6,	// 漂沥 康开俊 甸绢皑
	eCONDITION_HAVE_ITEM			= 7,	// 酒捞袍阑 家蜡窍绊 乐促
	eCONDITION_MULTI_SWITCH			= 8,	// 促吝 胶困摹 厚背
	eCONDITION_MISSION_POINT		= 9,	// 固记 器牢飘 父练
	eCONDITION_COMPARE_VARIABLE		= 10,	// 函荐 厚背
	eCONDITION_MAX					= 11,
};


enum eACTION_TYPE
{
	eACTION_CHANGE_OBJECTANI		= 1001,	// 坷宏璃飘 局聪皋捞记 函版
	eACTION_CHANGE_PATHTILE			= 1002,	// 辨茫扁 鸥老 加己 函版
	eACTION_CHANGE_OBJECTSTATE		= 1003,	// 坷宏璃飘 惑怕 函版
	eACTION_PLAY_EVENT				= 1004,	// 捞亥飘 敲饭捞
	eACTION_SET_ISATTACK			= 1005,	// 傍拜 啊瓷/阂啊 汲沥
	eACTION_PORTAL_PLAYER			= 1006,	// 敲饭捞绢 器呕
	eACTION_SET_OBJECTTHRUST		= 1007,	// 坷宏璃飘 剐扁 汲沥
	eACTION_APPLY_DAMAGE			= 1008,	// 单固瘤 利侩
	eACTION_REFLECT_DAMAGE			= 1009,	// 单固瘤 馆荤
	eACTION_CREATE_MONSTER			= 1010,	// 阁胶磐 积己
	eACTION_DISPLAY_MSGBOX			= 1011,	// 皋技瘤 冠胶 免仿
	eACTION_REMOVE_ITEM				= 1012,	// 牢亥配府 酒捞袍 力芭
	eACTION_REWARD_PLAYER			= 1014,	// 敲饭捞绢 焊惑 
	eACTION_CLEAR_MISSION			= 1015,	// 固记 搬苞
	eACTION_PORTAL_RANDOM			= 1016,	// 罚待 器呕
	eACTION_ACTIVATE_TRIGGER		= 1017,	// 飘府芭 劝己 厚劝己
	eACTION_AREA_DAMAGE				= 1018,	// 裹困单固瘤
	eACTION_OPERATE_SWITCH			= 1019,	// 胶困摹 楷魂
	eACTION_OPERATE_VARIABLE		= 1020,
	eACTION_ROAD_CONNECT			= 1021,
	eACTION_CREATE_DIR_MONSTER		= 1022, // 阁胶磐甫 积己茄促(规氢)
	eACTION_CHANGE_LIGHT			= 1023,	// 扼捞飘 汲沥阑 函版茄促
	eACTION_CHANGE_OBJECT_TYPE		= 1024, // 坷宏璃飘 惑怕甫 官槽促
	eACTION_MAPMOVE_RANDOM			= 1025, // 罚待 甘 捞悼
	eACTION_DROP_TRESUREBOX			= 1026, // 焊拱 惑磊 冻绢哆府扁
	eACTION_MAX						= 1027,
};

// 厚背 辆幅
enum eCOMPARE_TYPE
{
	eCOMPARE_EQUAL = 0,				// "=="
	eCOMPARE_MORE,					// ">"
	eCOMPARE_LESS,					// "<"
	eCOMPARE_LESSTHAN,				// "<="
	eCOMPARE_MORETHAN,				// ">="
	eCOMPARE_NOTEQUAL,				// "!="
};	

// 楷魂 辆幅
enum eOPERATION_TYPE
{
	eOPERATION_EQUAL = 0,				// "="
	eOPERATION_PLUS,					// "+"
	eOPERATION_MINUS,					// "-"
	eOPERATION_MULTIPLE,				// "*"
	eOPERATION_DIVIDE,					// "/"
};

// 荤侩窍瘤 臼绰 蔼
#define INVALID_SWITCH_ID_VALUE		255


template<class Type>
class TRIGGER_POOL
{
public:
	enum { eDEFUALT_TRIGGER_POOL_SIZE = 50, };
	TRIGGER_POOL( int size = eDEFUALT_TRIGGER_POOL_SIZE )
	{
		m_pool.Initialize( size );
	}
	~TRIGGER_POOL()
	{
		m_pool.Release();
	}
	Type * Alloc()
	{
		return m_pool.Alloc();
	}
	VOID Free( Type * pType )
	{
		m_pool.Free( pType );
	}
private:
	util::CMemoryPoolFactory<Type> m_pool;
};

#define __DECLARE_POOL( CLASSNAME )						\
	private:											\
		static TRIGGER_POOL<CLASSNAME>		m_Pool;		\
	public:												\
		static CLASSNAME * Create()						\
		{												\
			return m_Pool.Alloc();						\
		}												\
		static VOID Destroy( CLASSNAME * pObject )		\
		{												\
			m_Pool.Free(pObject);						\
		}
#define __IMPL_POOL( CLASSNAME )						\
		TRIGGER_POOL<CLASSNAME> CLASSNAME::m_Pool;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -