msgmagiceffect.h

来自「网络游戏魔域的服务端与客户端完整源代码 包括详细的说明文档与开发日志」· C头文件 代码 · 共 60 行

H
60
字号
///////////////////////////////////////////////////////////
//
//		CMsgMagicEffect.h
//

#ifndef		_MSGMAGICEFFECT_H_
#define		_MSGMAGICEFFECT_H_

#include "NetMsg.h"


///////////////////////////////////////////////////////////
typedef struct 
{
	DWORD	idRole;
	DWORD	dwData;
}EffectRoleStruct;

class CMsgMagicEffect : public CNetMsg
{
public:
	CMsgMagicEffect();
	virtual ~CMsgMagicEffect();

public:		//接口函数
	BOOL	Create(OBJID idUser, int nType, int nLevel, OBJID idTarget, UCHAR ucDir);
	BOOL	Create(OBJID idUser, int nType, int nLevel, OBJID idTarget, DWORD dwData, UCHAR ucDir);
	BOOL	CreateByPos(OBJID idUser, int nType, int nLevel, int x, int y, UCHAR ucDir, OBJID idTarget=ID_NONE, DWORD dwPower=0);		// 成片攻击都传坐标
	BOOL	CreateCollide(OBJID idUser, int nType, int nLevel, OBJID idTarget, DWORD dwData, int nCollideDir, UCHAR ucDir);
	BOOL	AppendRole(OBJID idRole, DWORD dwData);

public:
	BOOL			Create		(char* pMsgBuf, DWORD dwSize);
	void			Process		(CGameSocket* pSocket);

private:
	typedef struct
	{
		MSGHEAD_DEFINE

		OBJID				idUser;
		union{
			OBJID				idTarget;
			struct{
				USHORT				usPosX;
				USHORT				usPosY;
			};
			UCHAR				ucCollideDir;			// 8: no move
		};
		USHORT				usType;
		USHORT				usLevel;
		UCHAR				ucDir;
		UCHAR				ucEffectNum;		// 可能为0
		EffectRoleStruct	setEffectRole[1];			// 变长
	}MSG_Info;

	MSG_Info*	m_pInfo;
};

#endif

⌨️ 快捷键说明

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