diff options
Diffstat (limited to 'src/equipment.cpp')
-rw-r--r-- | src/equipment.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/equipment.cpp b/src/equipment.cpp index cdbe387c..6cd4d967 100644 --- a/src/equipment.cpp +++ b/src/equipment.cpp @@ -22,29 +22,23 @@ */ #include "equipment.h" + +#include <algorithm> + #include "item.h" Equipment::Equipment(): - mArrows(NULL) -{ - for (int i = 0; i < EQUIPMENT_SIZE; i++) - { - mEquipment[i] = NULL; - } -} - -Equipment::~Equipment() + mArrows(0) { + std::fill_n(mEquipment, EQUIPMENT_SIZE, (Item*)0); } void Equipment::removeEquipment(Item *item) { - for (int i = 0; i < EQUIPMENT_SIZE; i++) { - if (mEquipment[i] == item) { - mEquipment[i] = 0; - break; - } + Item **i = std::find(mEquipment, mEquipment+EQUIPMENT_SIZE, item); + if (i != mEquipment+EQUIPMENT_SIZE) { + *i = 0; } } |