1
This commit is contained in:
parent
da6df7256c
commit
23124ca3da
@ -42,8 +42,19 @@ void Bag::Parse(const std::list<std::tuple<int, int, int, int>>& items)
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<BagItem> Bag::GetItemById(int equip_id)
|
||||
std::shared_ptr<BagItem> Bag::GetItemByEquipId(int equip_id)
|
||||
{
|
||||
auto itr = items_.find(equip_id);
|
||||
return itr != items_.end() ? itr->second : nullptr;
|
||||
}
|
||||
|
||||
std::shared_ptr<BagItem> Bag::GetItemByItemId(int item_id)
|
||||
{
|
||||
for (auto pair : items_) {
|
||||
auto item = pair.second;
|
||||
if (item->item_meta && item->item_meta->id() == item_id) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -27,7 +27,8 @@ class Bag
|
||||
void UseItem(int equip_id);
|
||||
void PushBagInfo();
|
||||
void Parse(const std::list<std::tuple<int, int, int, int>>& items);
|
||||
std::shared_ptr<BagItem> GetItemById(int equip_id);
|
||||
std::shared_ptr<BagItem> GetItemByEquipId(int equip_id);
|
||||
std::shared_ptr<BagItem> GetItemByItemId(int item_id);
|
||||
void UpdateItemNum(int item_id, int item_num);
|
||||
|
||||
private:
|
||||
|
@ -2948,7 +2948,7 @@ void CustomBattle::NotifyState()
|
||||
|
||||
void Bag::UseItem(int equip_id)
|
||||
{
|
||||
auto p = GetItemById(equip_id);
|
||||
auto p = GetItemByEquipId(equip_id);
|
||||
if (p && p->equip_num > 0 && p->GetCdTime(owner_) <= 0 && p->equip_meta && p->potion_meta) {
|
||||
--p->equip_num;
|
||||
p->last_use_tick = owner_->room->GetFrameNo();
|
||||
@ -2978,6 +2978,7 @@ void Bag::UseItem(int equip_id)
|
||||
p->potion_meta->buff(),
|
||||
p->potion_meta->duration() * 1000);
|
||||
}
|
||||
owner_->GetNetData()->UseItem(p->item_meta->id());
|
||||
|
||||
cs::SMUpdateBag notify_msg;
|
||||
auto pb_item = notify_msg.add_items();
|
||||
@ -3020,7 +3021,7 @@ void Bag::InternalPushBagInfo()
|
||||
|
||||
void Bag::UpdateItemNum(int item_id, int item_num)
|
||||
{
|
||||
auto p = GetItemById(item_id);
|
||||
auto p = GetItemByItemId(item_id);
|
||||
if (p) {
|
||||
p->equip_num = item_num;
|
||||
cs::SMUpdateBag notify_msg;
|
||||
|
Loading…
x
Reference in New Issue
Block a user