00001 /* 00002 * The Mana World 00003 * Copyright (C) 2004 The Mana World Development Team 00004 * 00005 * This file is part of The Mana World. 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 */ 00021 00022 #ifndef ITEM_H 00023 #define ITEM_H 00024 00025 #include "resources/itemdb.h" 00026 00027 class Image; 00028 00032 class Item 00033 { 00034 public: 00038 Item(int id = -1, int quantity = 0, bool equipment = false, 00039 bool equipped = false); 00040 00044 ~Item(); 00045 00049 void setId(int id); 00050 00054 int getId() const { return mId; } 00055 00059 Image* getImage() { return mImage; } 00060 00064 void setQuantity(int quantity) { mQuantity = quantity; } 00065 00069 void increaseQuantity(int amount) { mQuantity += amount; } 00070 00074 int getQuantity() const { return mQuantity; } 00075 00079 void setEquipment(bool equipment) { mEquipment = equipment; } 00080 00084 bool isEquipment() const { return mEquipment; } 00085 00089 void setEquipped(bool equipped) { mEquipped = equipped; } 00090 00094 bool isEquipped() const { return mEquipped; } 00095 00099 void setInvIndex(int index) { mInvIndex = index; } 00100 00104 int getInvIndex() const { return mInvIndex; } 00105 00109 const ItemInfo& getInfo() const { return ItemDB::get(mId); } 00110 00111 protected: 00112 int mId; 00113 Image *mImage; 00114 int mQuantity; 00115 bool mEquipment; 00116 bool mEquipped; 00117 int mInvIndex; 00118 }; 00119 00120 #endif