59 lines
1.3 KiB
C
59 lines
1.3 KiB
C
|
|
/*
|
|||
|
|
* actor类里用的一些辅助的定义,放在这里
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
|
|||
|
|
struct CActorPacket
|
|||
|
|
{
|
|||
|
|
CActor* pActor; // 申请数据包的角色对象
|
|||
|
|
CDataPacket *packet;
|
|||
|
|
INT64 nHdrPos;//追加本次数据的前,datapacket已有的数据长度
|
|||
|
|
public:
|
|||
|
|
//提交数据包
|
|||
|
|
void flush();
|
|||
|
|
//撤销数据包
|
|||
|
|
void rollBack();
|
|||
|
|
|
|||
|
|
template<typename T>
|
|||
|
|
inline CActorPacket& operator << (const T value)
|
|||
|
|
{
|
|||
|
|
*packet << value;
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
本功能用于 角色A向角色B发送信息,角色B界面弹出一个对话框(有多个按钮),当角色B点击某个按钮后,执行相应的脚本函数
|
|||
|
|
*/
|
|||
|
|
//最大的按钮数量
|
|||
|
|
#define MAX_BUTTON_COUNT 3
|
|||
|
|
|
|||
|
|
typedef struct tagMessageBoxItem
|
|||
|
|
{
|
|||
|
|
Uint64 hNpc; //将要处理这消息的npc
|
|||
|
|
UINT nActorid; //接受这消息的角色id
|
|||
|
|
char sFnName[MAX_BUTTON_COUNT][128]; //对应的按钮的
|
|||
|
|
BYTE bButtonCount; //实际是按钮数量
|
|||
|
|
//bool boFlag;
|
|||
|
|
int msgid;
|
|||
|
|
tagMessageBoxItem()
|
|||
|
|
{
|
|||
|
|
//boFlag = false;
|
|||
|
|
|
|||
|
|
hNpc = 0;
|
|||
|
|
nActorid = 0;
|
|||
|
|
bButtonCount = 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
DECLARE_OBJECT_COUNTER(tagMessageBoxItem)
|
|||
|
|
}MessageBoxItem;
|
|||
|
|
|
|||
|
|
//对玩家播放的场景特效
|
|||
|
|
typedef struct tagActorSrcEffect
|
|||
|
|
{
|
|||
|
|
int nEffctId; //特效id
|
|||
|
|
int nTime; //特效到期时间
|
|||
|
|
int nSceneId; //播放的场景id
|
|||
|
|
}ACTORSRCEFFECT;
|