123456789101112131415161718192021222324252627282930313233343536373839 |
- #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
- {
- protected:
- const int id;
- ItemSkillLevelUpRule *levelUpRule;
- ItemType *zBrokenType;
- ItemType( int id, ItemSkillLevelUpRule *levelUpRule, ItemType *zBrokenType );
- virtual void loadSuperItem( Item *zItem, Framework::Reader *zReader ) const;
- virtual void saveSuperItem( Item *zItem, Framework::Writer *zWriter ) const;
- public:
- ~ItemType();
- int getId() const;
- ItemType *zBrokenItemType() 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;
- };
|