ItemType.h 790 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include <Text.h>
  3. #include <JSON.h>
  4. #include <Trie.h>
  5. #include <Writer.h>
  6. #include <Model3D.h>
  7. #include <Textur.h>
  8. class Item;
  9. class ItemStack;
  10. class ItemSkill;
  11. class ItemSkillLevelUpRule;
  12. class ItemType : public virtual Framework::ReferenceCounter
  13. {
  14. protected:
  15. const int id;
  16. ItemType( int id );
  17. virtual void loadSuperItem( Item* zItem, Framework::StreamReader* zReader ) const;
  18. public:
  19. ~ItemType();
  20. int getId() const;
  21. virtual Item* createItem() const = 0;
  22. virtual ItemStack* createItemStack( int size ) const;
  23. virtual Item* loadItem( Framework::StreamReader* zReader ) const;
  24. virtual Framework::Model3DData* getItemModel() const = 0;
  25. virtual Framework::Model3DTextur* getItemTextur() const = 0;
  26. };