summaryrefslogtreecommitdiff
path: root/src/equipment.h
diff options
context:
space:
mode:
authorBjörn Steinbrink <B.Steinbrink@gmx.de>2005-07-17 21:10:44 +0000
committerBjörn Steinbrink <B.Steinbrink@gmx.de>2005-07-17 21:10:44 +0000
commit9bf3338f82bfbd425debb2855d015c7bd0e33989 (patch)
treeba390f42ebb7149e91c3494bc6a4ef3ac919ae22 /src/equipment.h
parentfbf19c2cdde592b126fe91c0dfff480f1318f50c (diff)
downloadmana-9bf3338f82bfbd425debb2855d015c7bd0e33989.tar.gz
mana-9bf3338f82bfbd425debb2855d015c7bd0e33989.tar.bz2
mana-9bf3338f82bfbd425debb2855d015c7bd0e33989.tar.xz
mana-9bf3338f82bfbd425debb2855d015c7bd0e33989.zip
Added Item and Equipment class and made the appropriate places make use of them. Plus some cleanups.
Diffstat (limited to 'src/equipment.h')
-rw-r--r--src/equipment.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/equipment.h b/src/equipment.h
new file mode 100644
index 00000000..a1cdb13c
--- /dev/null
+++ b/src/equipment.h
@@ -0,0 +1,99 @@
+/*
+ * The Mana World
+ * Copyright 2004 The Mana World Development Team
+ *
+ * This file is part of The Mana World.
+ *
+ * The Mana World is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * The Mana World is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with The Mana World; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Id$
+ */
+
+#ifndef _EQUIPMENT_H
+#define _EQUIPMENT_H
+
+#include "item.h"
+
+#define EQUIPMENT_SIZE 10
+
+class Equipment
+{
+ public:
+ static Equipment* getInstance();
+
+ Item* getEquipment(int index);
+ void setEquipment(int index, Item *item);
+
+ void removeEquipment(int index);
+ void removeEquipment(Item *item);
+
+ Item* getArrows();
+ void setArrows(Item *arrows);
+
+ protected:
+ Equipment();
+ ~Equipment();
+
+ Item *equipment[EQUIPMENT_SIZE];
+ Item *arrows;
+
+ private:
+ static Equipment *instance;
+};
+
+inline Equipment *Equipment::getInstance()
+{
+ if (!instance)
+ instance = new Equipment();
+
+ return instance;
+}
+
+inline Item* Equipment::getEquipment(int index)
+{
+ return equipment[index];
+}
+
+inline void Equipment::setEquipment(int index, Item *item)
+{
+ equipment[index] = item;
+}
+
+inline void Equipment::removeEquipment(int index)
+{
+ equipment[index] = 0;
+}
+
+inline void Equipment::removeEquipment(Item *item)
+{
+ for (int i = 0; i < EQUIPMENT_SIZE; i++) {
+ if (equipment[i] == item) {
+ equipment[i] = 0;
+ break;
+ }
+ }
+}
+
+inline Item* Equipment::getArrows()
+{
+ return arrows;
+}
+
+inline void Equipment::setArrows(Item *arrows)
+{
+ this->arrows = arrows;
+}
+
+#endif