This commit is contained in:
aozhiwei 2024-10-11 15:23:31 +08:00
parent 4409ce5200
commit cb9f7905e9
3 changed files with 18 additions and 1 deletions

View File

@ -19,3 +19,9 @@ void Bag::Parse(const std::list<int>& items)
p->equip_meta = mt::Equip::GetById(p->equip_id);
items_[p->equip_id] = p;
}
std::shared_ptr<BagItem> Bag::GetItemById(int equip_id)
{
auto itr = items_.find(equip_id);
return itr != items_.end() ? itr->second : nullptr;
}

View File

@ -23,6 +23,7 @@ class Bag
void UseItem(int equip_id);
void PushBagInfo();
void Parse(const std::list<int>& items);
std::shared_ptr<BagItem> GetItemById(int equip_id);
private:
Human* owner_ = nullptr;

View File

@ -2947,7 +2947,17 @@ void CustomBattle::NotifyState()
void Bag::UseItem(int equip_id)
{
auto p = GetItemById(equip_id);
if (p && p->equip_num > 0 && p->GetCdTime(owner_) <= 0) {
--p->equip_num;
p->last_use_tick = owner_->room->GetFrameNo();
cs::SMUpdateBag notify_msg;
auto pb_item = notify_msg.add_items();
pb_item->set_equip_id(p->equip_id);
pb_item->set_equip_num(p->equip_num);
pb_item->set_use_cd(p->GetCdTime(owner_));
owner_->SendNotifyMsg(notify_msg);
}
}
void Bag::PushBagInfo()