Files
2026-03-05 11:39:06 +08:00

166 lines
3.0 KiB
Protocol Buffer

syntax = "proto3";
package Fantasy.Network.Message;
// 协议分为:
// ProtoBuf:可以在Outer和Inner文件里使用。
// MemoryPack:可以在Outer和Inner文件里使用。
// Bson:仅支持在Inner文件里使用。
// 使用方式:
// 在message协议上方添加// Protocol+空格+协议名字
// 例如:// Protocol ProtoBuf 或 // Protocol MemoryPack
/// 登陆到Gate服务器
message C2G_LoginRequest // IRequest,G2C_LoginResponse
{
string Name = 1; // 登陆的用户名,现在情况下是如果不存在服务器会自动创建一个新的账号。
}
message G2C_LoginResponse // IResponse
{
}
/// 客户端通知服务器退出游戏
message C2G_Exit // IMessage
{
}
/// 测试Mail自定义Route协议
message C2Mail_TestRequest // ICustomRouteRequest,Mail2C_TestResponse,MailRoute
{
string Tag = 1;
}
message Mail2C_TestResponse // ICustomRouteResponse
{
string Tag = 1;
}
/// 一个邮件的完整信息
message MailInfo
{
int64 MailId = 1;
int64 OwnerId = 2;
string Title = 3;
string Content = 4;
int64 CreateTime = 5;
int64 ExpireTime = 6;
int32 Money = 7;
int32 MailState = 8;
int32 MailType = 9;
repeated ItemInfo Items = 10;
}
/// 一个邮件的简单版消息
message MailSimplifyInfo
{
int64 MailId = 1;
int64 OwnerId = 2;
string Title = 3;
string Content = 4;
int64 CreateTime = 5;
int64 ExpireTime = 6;
int32 MailState = 7;
int32 MailType = 8;
}
/// 一个简单的物品信息
message ItemInfo
{
int64 ItemId = 1;
string Name = 2;
}
/// Mail通知客户端有新的邮件
message Mail2C_HaveMail // ICustomRouteMessage,MailRoute
{
MailSimplifyInfo Mail = 1;
}
/// Mail通知客户端邮件状态变化
message Mail2C_MailState // ICustomRouteMessage,MailRoute
{
int32 MailState = 1;
int64 MailId = 2;
}
/// 客户端获取档期所有邮件的信息
message C2Mail_GetHaveMailRequest // ICustomRouteRequest,Mail2C_GetHaveMailResposne,MailRoute
{
}
message Mail2C_GetHaveMailResposne // ICustomRouteResponse
{
repeated MailSimplifyInfo Mails = 1;
}
/// 客户端发开一个邮件
message C2Mail_OpenMailRequest // ICustomRouteRequest,Mail2C_OpenMailResposne,MailRoute
{
int64 MailId = 1;
bool ReturnMailInfo = 2;
}
message Mail2C_OpenMailResposne // ICustomRouteResponse
{
MailInfo MailInfo = 1;
}
/// 客户端领取邮件的附件
message C2Mail_ReceiveMailRequest // ICustomRouteRequest,Mail2C_ReceiveMailResponse,MailRoute
{
int64 MailId = 1;
bool Money = 2;
repeated int64 ItemId = 3;
}
message Mail2C_ReceiveMailResponse // ICustomRouteResponse
{
}
/// 客户端通知服务器删除一个邮件
message C2Mail_RemoveMailRequest // ICustomRouteRequest,Mail2C_RemoveMailResponse,MailRoute
{
int64 MailId = 1;
}
message Mail2C_RemoveMailResponse // ICustomRouteResponse
{
}
/// 客户端玩家发送邮件到另外一个玩家
message C2Mail_SendMailRequest // ICustomRouteRequest,Mail2C_SendMailResponse,MailRoute
{
string UserName = 1;
string Title = 2;
string Content = 3;
int32 Money = 4;
repeated int64 ItemId = 5;
}
message Mail2C_SendMailResponse // ICustomRouteResponse
{
}