1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-27 21:35:24 +00:00
OpenMW/apps/openmw/mwgui/pickpocketitemmodel.hpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

38 lines
1.1 KiB
C++
Raw Normal View History

2013-05-11 18:38:27 +02:00
#ifndef MWGUI_PICKPOCKET_ITEM_MODEL_H
#define MWGUI_PICKPOCKET_ITEM_MODEL_H
#include "itemmodel.hpp"
namespace MWGui
{
/// @brief The pickpocket item model randomly hides item stacks based on a specified chance. Equipped items are
/// always hidden.
class PickpocketItemModel : public ProxyItemModel
{
public:
2022-08-31 18:49:50 +02:00
PickpocketItemModel(const MWWorld::Ptr& thief, std::unique_ptr<ItemModel> sourceModel, bool hideItems = true);
bool allowedToUseItems() const override;
ItemStack getItem(ModelIndex index) override;
size_t getItemCount() override;
void update() override;
void removeItem(const ItemStack& item, size_t count) override;
void onClose() override;
bool onDropItem(const MWWorld::Ptr& item, int count) override;
bool onTakeItem(const MWWorld::Ptr& item, int count) override;
2017-10-04 21:25:22 +04:00
protected:
MWWorld::Ptr mActor;
2017-10-04 23:26:06 +04:00
bool mPickpocketDetected;
bool stealItem(const MWWorld::Ptr& item, int count);
2013-05-11 18:38:27 +02:00
private:
std::vector<ItemStack> mHiddenItems;
std::vector<ItemStack> mItems;
};
}
#endif