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

115 lines
2.9 KiB
Protocol Buffer
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
syntax = "proto3";
package Fantasy.Network.Message;
// 协议分为:
// ProtoBuf:可以在Outer和Inner文件里使用。
// MemoryPack:可以在Outer和Inner文件里使用。
// Bson:仅支持在Inner文件里使用。
// 使用方式:
// 在message协议上方添加// Protocol+空格+协议名字
// 例如:// Protocol ProtoBuf 或 // Protocol MemoryPack
/// 客户端登陆到服务器
message C2G_LoginRequest // IRequest,G2C_LoginResponse
{
string UserName = 1;
string PassWord = 2;
}
/// 服务器返回登陆状态给客户端
message G2C_LoginResponse // IResponse
{
}
/// 客户端请求服务器使用物品
message C2G_UseItemRequest // IRequest,G2C_UseItemResponse
{
int64 ItemId = 1;
int32 Count = 2;
int32 ContainerType = 3; // ContainerType
}
message G2C_UseItemResponse // IResponse
{
}
/// 装备基础信息类
message EquipInfo
{
int32 Durable = 1; // 当前耐久度
int32 DurableMax = 2; // 最大耐久度
repeated int32 MainKeys = 3; // 主属性的Key
repeated int32 EquipAttrKeys = 4; // 主属性改变属性Key
repeated int32 EquipAttrValues = 5; // 主属性的对应数值
repeated int32 EquipAttrSValues = 6; // 主属性的附加数值
// 比如强化等级,副属性,词缀等。都可以在这里添加
}
/// 物品基础信息类
message ItemInfo
{
int64 ItemId = 1; // 物品Id
int32 Container = 2; // 属于容器的类型
int32 ConfigId = 3; // 配置表Id
int64 CellId = 4; // 格子的Id
int32 Count = 5; // 物品的数量
bool IsBind = 6; // 是否是绑定
EquipInfo EquipInfo = 7; // 装备信息
// 后面可能会有装备词条 也会在这里定义的,现在没有所以就是先不管了
}
/// 容器信息类
message ContainerInfo
{
int32 CurrentCellCount = 1; // 容器当前可用的格子数量
int32 ConfigId = 2; // 容器的配置表Id
repeated ItemInfo Items = 3; // 容器内的物品列表
}
/// 物品变更协议(服务器推送给客户端)
message G2C_UpdateItems // IMessage
{
int32 ItemReason = 1; // 物品的操作原因具体可以看代码的ItemReason.cs。
repeated ItemInfo Items = 2; // 变更物品列表
}
/// 通知服务器客户端初始化完成
message C2G_GameInitCompleteRequest // IRequest,G2C_GameInitCompleteResponse
{
bool PushContainer = 1; // 是否推送容器数据到客户端
bool PushUnitInfo = 2; // 是否推送角色的数据
bool Aoi = 3; // 是否推送周围玩家和单位的数据
}
message G2C_GameInitCompleteResponse // IResponse
{
}
/// 推送所有容器数据给客户端
message G2C_PushAllContainerInfo // IMessage
{
repeated ContainerInfo Containers = 1; // 容器的数据列表
}
/// 推送单个的容器数据给客户端
message G2C_PushContainerInfo // IMessage
{
ContainerInfo Container = 1; // 容器的数据
}
/// 通知服务器创建一个物品到背包容器中。
message C2G_StartCreateItem // IMessage
{
}