108 lines
2.9 KiB
Protocol Buffer
108 lines
2.9 KiB
Protocol Buffer
syntax = "proto3";
|
||
package Pb;
|
||
option go_package = "pb/";
|
||
|
||
import "enums.proto";
|
||
|
||
// ModId.ModuleItem: 6000;
|
||
// 登录模块消息定义
|
||
// 如果定义的消息内没有字段或者消息被注释掉了,说明该请求不需要参数,发送消息时仅发送包头即可,包体可为空, 返回的消息亦是如此。
|
||
|
||
message Item {
|
||
uint32 ItemId = 1; //物品ID,多个道具物品在背包中是堆叠的,可以用物品ID做为键
|
||
uint32 ItemNum = 2; //物品数量
|
||
}
|
||
|
||
// ModItemList: 6001
|
||
// 物品列表返回
|
||
message ItemListAck {
|
||
repeated Item ItemList = 1;
|
||
}
|
||
|
||
// 关于Change的消息,有些数据会触发删除操作的。
|
||
// 才会有一个专门的Change消息,即ChangeType=2时,前端要从列表中删除数据项。
|
||
// 对于一些没有删除操作的数据,List和Change虽然是两个不同的消息ID,但返回的消息基本上是同一个ListAck。
|
||
// List和Change两个不同消息ID的区别在于,List用于登录或者重连时一次性同步所有数据,列表是完整的,即清空源数据直接使用源返回的数据。
|
||
// 而Change消息ID用于发生变更时仅返回发了改变的数据,通过Key查找字典中的数据变做修改即可。
|
||
// 其他类似带Change的消息基本都是这样的操作。
|
||
message ItemChange {
|
||
ChangeType ChangeType = 1;
|
||
Item Item = 2;
|
||
}
|
||
|
||
// ModItemChange: 6002
|
||
// 物品变更列表返回
|
||
message ItemChangeListAck {
|
||
repeated ItemChange ChangeList = 1;
|
||
}
|
||
|
||
// ModItemUse: 6003
|
||
// 物品使用请求
|
||
message ItemUseReq {
|
||
uint32 ItemId = 1; //物品ID
|
||
uint32 ItemNum = 2; //物品数量
|
||
}
|
||
|
||
message Equip {
|
||
uint64 Uid = 1; //玩家装备在列表中的唯一ID,列表中会有多个相同装备, 故不能用Id做为键
|
||
uint32 Id = 2;
|
||
uint64 Exp = 3;
|
||
uint32 Level = 4;
|
||
uint32 Refine = 5;
|
||
repeated uint32 Holes = 6;
|
||
uint64 HeroUid = 7;
|
||
}
|
||
|
||
// ModEquipList: 6011
|
||
// 装备列表返回
|
||
message EquipListAck {
|
||
repeated Equip EquipList = 1;
|
||
}
|
||
|
||
message EquipChange {
|
||
ChangeType ChangeType = 1;
|
||
Equip Equip = 2;
|
||
}
|
||
|
||
// ModEquipChange: 6012
|
||
// 装备变更列表返回
|
||
message EquipChangeListAck {
|
||
repeated EquipChange ChangeList = 1;
|
||
}
|
||
|
||
// ModEquipUpgrade: 6013
|
||
// 装备升级请求
|
||
message EquipUpgradeReq {
|
||
uint64 EquipUid = 1;
|
||
uint32 Times = 2; // 1/5次
|
||
}
|
||
|
||
// ModEquipRefine: 6014
|
||
// 装备升级请求
|
||
message EquipRefineReq {
|
||
uint64 EquipUid = 1;
|
||
// uint32 Times = 2; // 1/5级
|
||
}
|
||
|
||
message Treasure {
|
||
uint64 Uid = 1; //玩家宝物在列表中的唯一ID,列表中会有多个相同宝物, 故不能用Id做为键
|
||
uint32 Id = 2;
|
||
uint64 HeroUid = 7;
|
||
}
|
||
|
||
// ModItemTreasureList: 6014
|
||
// 宝物列表返回
|
||
message TreasureListAck {
|
||
repeated Treasure TreasureList = 1;
|
||
}
|
||
|
||
message TreasureChange {
|
||
ChangeType ChangeType = 1;
|
||
Treasure Treasure = 2;
|
||
}
|
||
|
||
// ModItemTreasureChange: 6015
|
||
// 宝物变更列表返回
|
||
message TreasureChangeListAck {
|
||
repeated TreasureChange ChangeList = 1;
|
||
} |