ecs/proto/idl/mod_item.proto

108 lines
2.9 KiB
Protocol Buffer
Raw Normal View History

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