/* core/item.cc This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #include "core/item.h" #include "sys/sys.h" namespace core { /* ---- class Item ------------------------------------------------- */ Item::Registry Item::item_registry; void Item::add_class(ItemClass * itemclass) { } void Item::add_type(ItemClass * itemclass, ItemType *itemtype) { } void Item::find_class(const char *label) { } void Item::clear() { for (Registry::iterator it = item_registry.begin(); it != item_registry.end(); it++) { delete(*it); } item_registry.clear(); } void Item::list() { for (Registry::iterator it = item_registry.begin(); it != item_registry.end(); it++) { con_print << " item class ^B " << (*it)->name() << std::endl; (*it)->list(); } con_print << item_registry.size() << " registered item classes" << std::endl; } /* ---- class ItemClass -------------------------------------------- */ ItemClass::ItemClass(const char *label) { if (label) { itemclass_label.assign(label); } else { itemclass_label.clear(); } } ItemClass::~ItemClass() { for (Types::iterator it = itemclass_types.begin(); it != itemclass_types.end(); it++) { delete(*it); } } void ItemClass::list() { } void ItemClass::set_name(const std::string &name) { itemclass_name.assign(name); } void ItemClass::add_type(ItemType *itemtype) { for (Types::iterator it = itemclass_types.begin(); it != itemclass_types.end(); it++) { con_print << " " << (*it)->name() << std::endl; } } ItemType *ItemClass::find_type(const char *label) { return 0; } /* ---- class ItemType --------------------------------------------- */ ItemType::ItemType(const char *label) { if (label) { itemtype_label.assign(label); } else { itemtype_label.clear(); } itemtype_baseprice = 0; } void ItemType::set_name(const std::string &name) { itemtype_name.assign(name); } void ItemType::set_baseprice(const float baseprice) { itemtype_baseprice = 0; } } // class core