#pragma once #include "BasicItems.h" #include "Item.h" class BasicToolItemType; class BasicToolItem : public Item { private: int headMaterial; int rodMaterial; protected: virtual void updateBasedOnUsedMaterial(); public: BasicToolItem(int itemTypeId, const char* name); void setHeadMaterial(int headMaterial); void setRodMaterial(int rodMaterial); friend BasicToolItemType; }; class BasicToolItemType : public ItemType { protected: BasicToolItemType(int id, const char* name, ItemSkillLevelUpRule* levelUpRule, int brokenTypeId, ModelInfo model); virtual void loadSuperItem( Item* zItem, Framework::StreamReader* zReader) const; virtual void saveSuperItem( const Item* zItem, Framework::StreamWriter* zWriter) const; };