12345678910111213141516171819202122232425262728293031323334353637383940 |
- #pragma once
- #include "DropConfig.h"
- #include "ItemModifier.h"
- #include "ItemType.h"
- class SpecificItemDrop : public DropConfig
- {
- private:
- Framework::Text itemTypeName;
- const ItemType* zType;
- ItemModifier* modifier;
- int amount;
- public:
- SpecificItemDrop(
- Framework::Text itemTypeName, ItemModifier* modifier, int amount);
- ~SpecificItemDrop();
- void initialize() override;
- Framework::Text getItemTypeName() const;
- const ItemModifier* zModifier() const;
- int getAmount() const;
- void doDrop(Entity* zActor,
- Item* zItem,
- ItemSkill* zUsedSkill,
- Framework::Either<Block*, Entity*> zDestroyedObject) const override;
- };
- class SpecificItemDropFactory : public DropConfigFactory<SpecificItemDrop>
- {
- public:
- SpecificItemDropFactory();
- JSONObjectValidationBuilder* addToValidator(
- JSONObjectValidationBuilder* builder) const override;
- const char* getTypeToken() const override;
- SpecificItemDrop* createInstance(
- Framework::JSON::JSONObject* zJson) const override;
- void addToJson(Framework::JSON::JSONObject* zJson,
- SpecificItemDrop* zObject) const override;
- };
|