1
This commit is contained in:
parent
4409ce5200
commit
cb9f7905e9
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user