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);
|
p->equip_meta = mt::Equip::GetById(p->equip_id);
|
||||||
items_[p->equip_id] = p;
|
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 UseItem(int equip_id);
|
||||||
void PushBagInfo();
|
void PushBagInfo();
|
||||||
void Parse(const std::list<int>& items);
|
void Parse(const std::list<int>& items);
|
||||||
|
std::shared_ptr<BagItem> GetItemById(int equip_id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Human* owner_ = nullptr;
|
Human* owner_ = nullptr;
|
||||||
|
@ -2947,7 +2947,17 @@ void CustomBattle::NotifyState()
|
|||||||
|
|
||||||
void Bag::UseItem(int equip_id)
|
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()
|
void Bag::PushBagInfo()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user