From 4409ce52005e13df8fab8ffe5f95cbbbda9d75ad Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 11 Oct 2024 15:17:51 +0800 Subject: [PATCH] 1 --- server/gameserver/bag.cc | 7 +++++++ server/gameserver/bag.h | 2 ++ server/gameserver/pbutils.cc | 6 ++++++ server/tools/protobuild/cs_proto.proto | 4 ++-- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/server/gameserver/bag.cc b/server/gameserver/bag.cc index 8f531b16..00a71425 100644 --- a/server/gameserver/bag.cc +++ b/server/gameserver/bag.cc @@ -4,6 +4,13 @@ #include "mt/Equip.h" +const static int TEST_CD_TIME = 5; + +int BagItem::GetCdTime(Human* hum) +{ + +} + void Bag::Parse(const std::list& items) { auto p = std::make_shared(); diff --git a/server/gameserver/bag.h b/server/gameserver/bag.h index 853b2512..1b3b265f 100644 --- a/server/gameserver/bag.h +++ b/server/gameserver/bag.h @@ -12,6 +12,8 @@ struct BagItem int equip_num = 0; const mt::Equip* equip_meta = nullptr; long long last_use_tick = 0; + + int GetCdTime(Human* num); }; class Bag diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 0f565301..ac3a4443 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -2953,5 +2953,11 @@ void Bag::UseItem(int equip_id) void Bag::PushBagInfo() { cs::SMPushBag notify_msg; + for (auto& pair : items_) { + auto p = notify_msg.add_items(); + p->set_equip_id(pair.second->equip_id); + p->set_equip_num(pair.second->equip_num); + p->set_use_cd(pair.second->GetCdTime(owner_)); + } owner_->SendNotifyMsg(notify_msg); } diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index 01c9f73f..63c4c7f9 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -2172,11 +2172,11 @@ message SMServerSyncPos //推送背包数据-全量(当断线重连时可能出现的数据不一致时,本地在服务器的列表里不存在时则本地数据数量设置为0) message SMPushBag { - optional MFBagItem items = 1; //背包道具列表 + repeated MFBagItem items = 1; //背包道具列表 } //更新背包数 message SMUpdateBag { - optional MFBagItem items = 1; //背包道具列表 + repeated MFBagItem items = 1; //背包道具列表 }