diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-10-21 15:08:07 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-10-21 16:17:44 +0300 |
commit | 26a4a4ddfde04ae02964c434063d74d82e3a2143 (patch) | |
tree | 120b7d12002a53eaa40bfa2ebf3562ae231ccb27 /src/item.cpp | |
parent | 0875a6ddfda9ece1af4a818e38be1f99e578c59a (diff) | |
download | manaplus-26a4a4ddfde04ae02964c434063d74d82e3a2143.tar.gz manaplus-26a4a4ddfde04ae02964c434063d74d82e3a2143.tar.bz2 manaplus-26a4a4ddfde04ae02964c434063d74d82e3a2143.tar.xz manaplus-26a4a4ddfde04ae02964c434063d74d82e3a2143.zip |
Add card fields into item.
Diffstat (limited to 'src/item.cpp')
-rw-r--r-- | src/item.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/item.cpp b/src/item.cpp index 1dcd2bbcc..3b4beacdc 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -52,6 +52,7 @@ Item::Item(const int id, mImage(nullptr), mDescription(), mTags(), + mCards(), mRefine(refine), mInvIndex(0), mEquipment(equipment), @@ -62,6 +63,8 @@ Item::Item(const int id, mFavorite(favorite) { setId(id, color); + for (int f = 0; f < 4; f ++) + mCards[f] = 0; } Item::~Item() @@ -130,3 +133,28 @@ std::string Item::getName() const else return info.getName(); } + +void Item::setCard(const int index, const int id) +{ + if (index < 0 || index >= maxCards) + return; + mCards[index] = id; +} + +int Item::getCard(const int index) const +{ + if (index < 0 || index >= maxCards) + return 0 ; + return mCards[index]; +} + +void Item::setCards(const int *const cards, const int size) +{ + if (size < 0 || !cards) + return; + int sz = size; + if (sz > maxCards) + sz = maxCards; + for (int f = 0; f < sz; f ++) + mCards[f] = cards[f]; +} |