1234567891011121314151617181920212223242526272829303132333435363738 |
- #pragma once
- #include <Text.h>
- #include <JSON.h>
- #include <Trie.h>
- #include <Writer.h>
- #include "Effect.h"
- #include "StaticRegistry.h"
- class Item;
- class ItemStack;
- class ItemSkill;
- class ItemSkillLevelUpRule;
- class ItemType : public virtual Framework::ReferenceCounter
- {
- private:
- const int id;
- ItemSkillLevelUpRule *levelUpRule;
- protected:
- ItemType( int id, ItemSkillLevelUpRule *levelUpRule );
- virtual void loadSupperItem( Item *zItem, Framework::Reader *zReader ) const;
- virtual void saveSupperItem( Item *zItem, Framework::Writer *zWriter ) const;
- public:
- ~ItemType();
- int getId() const;
- virtual Item *createItem() const = 0;
- virtual ItemStack *createItemStack( int size ) const;
- virtual ItemSkill *createDefaultItemSkill() const;
- virtual void levelUpItemSkill( ItemSkill *zSkill ) const;
- virtual Item *loadItem( Framework::Reader *zReader ) const;
- virtual void saveItem( Item *zItem, Framework::Writer *zWriter ) const;
- };
|