30#ifndef HORIZON_ZONE_GAME_ASSETS_STORAGE_HPP
31#define HORIZON_ZONE_GAME_ASSETS_STORAGE_HPP
71 typedef std::vector<std::shared_ptr<item_entry_data>>
storage_type;
83 std::shared_ptr<Horizon::Zone::Units::Player>
player() {
return _player.lock(); }
89 std::shared_ptr<item_entry_data>
get_item(int32_t storage_index);
101 std::weak_ptr<Horizon::Zone::Units::Player>
_player;
Definition: Storage.hpp:70
int32_t _max_storage
Definition: Storage.hpp:100
int32_t save()
Definition: Storage.cpp:231
storage_remove_item_result_type remove_item(int32_t index, int amount)
Definition: Storage.cpp:170
int16_t get_free_index()
Definition: Storage.cpp:51
std::string _name
Definition: Storage.hpp:99
Storage(std::shared_ptr< Horizon::Zone::Units::Player > player, int32_t storage_id, std::string name, uint32_t max_storage)
Definition: Storage.cpp:42
std::shared_ptr< item_entry_data > get_item(int32_t storage_index)
Definition: Storage.cpp:157
std::weak_ptr< Horizon::Zone::Units::Player > _player
Definition: Storage.hpp:101
virtual ~Storage()
Definition: Storage.cpp:47
void notify_all()
Definition: Storage.cpp:191
int32_t max_storage()
Definition: Storage.hpp:82
int32_t get_storage_id()
Definition: Storage.hpp:80
std::shared_ptr< Horizon::Zone::Units::Player > player()
Definition: Storage.hpp:83
storage_add_item_result_type add_item(std::shared_ptr< item_entry_data > item, int amount)
Definition: Storage.cpp:84
storage_type _storage_items
Definition: Storage.hpp:102
storage_add_item_result_type add_item_from_inventory(int16_t inventory_index, int amount)
Definition: Storage.cpp:62
void notify_normal()
Definition: Storage.cpp:203
int32_t _storage_id
Definition: Storage.hpp:98
void notify_equips()
Definition: Storage.cpp:217
storage_to_inventory_result_type add_item_to_inventory(int storage_index, int amount)
Definition: Storage.cpp:138
storage_type _saved_storage_items
Definition: Storage.hpp:102
int32_t load()
Definition: Storage.cpp:319
std::vector< std::shared_ptr< item_entry_data > > storage_type
Definition: Storage.hpp:71
std::string name()
Definition: Storage.hpp:81
Definition: ReferenceListTest.cpp:114
storage_remove_item_result_type
Definition: Storage.hpp:58
@ STORAGE_REMOVE_SUCCESS
Definition: Storage.hpp:59
@ STORAGE_REMOVE_INVALID
Success.
Definition: Storage.hpp:60
storage_to_inventory_result_type
Definition: Storage.hpp:40
@ STORAGE_TO_INVENTORY_INVALID
Success.
Definition: Storage.hpp:42
@ STORAGE_TO_INVENTORY_OVER_QUANTITY
No free place found.
Definition: Storage.hpp:45
@ STORAGE_TO_INVENTORY_NO_INV_SPACE
Overweight.
Definition: Storage.hpp:44
@ STORAGE_TO_INVENTORY_OVER_STACK_LIMIT
Max amount reached.
Definition: Storage.hpp:46
@ STORAGE_TO_INVENTORY_OVER_WEIGHT
Invalid itemid not found or negative amount.
Definition: Storage.hpp:43
@ STORAGE_TO_INVENTORY_SUCCESS
Definition: Storage.hpp:41
storage_add_item_result_type
Definition: Storage.hpp:49
@ STORAGE_ADD_SUCCESS
Definition: Storage.hpp:50
@ STORAGE_ADD_OVER_STACK_LIMIT
Max amount reached.
Definition: Storage.hpp:55
@ STORAGE_ADD_NO_INV_SPACE
Overweight.
Definition: Storage.hpp:53
@ STORAGE_ADD_OVER_WEIGHT
Invalid itemid not found or negative amount.
Definition: Storage.hpp:52
@ STORAGE_ADD_OVER_QUANTITY
No free place found.
Definition: Storage.hpp:54
@ STORAGE_ADD_INVALID
Success.
Definition: Storage.hpp:51
Definition: Element.hpp:7