aozhiwei f1938018f9 1
2024-10-15 10:48:34 +08:00

40 lines
805 B
C++

#pragma once
namespace mt
{
class Item;
class Equip;
class BattlePotion;
}
class Human;
struct BagItem
{
int equip_id = 0;
int equip_num = 0;
const mt::Item* item_meta = nullptr;
const mt::BattlePotion* potion_meta = nullptr;
const mt::Equip* equip_meta = nullptr;
long long last_use_tick = 0;
int GetCdTime(Human* num);
};
class Bag
{
public:
Bag(Human* owner) { owner_ = owner; };
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);
void UpdateItemNum(int item_id, int item_num);
private:
void InternalPushBagInfo();
private:
Human* owner_ = nullptr;
std::map<int, std::shared_ptr<BagItem>> items_;
};