1234567891011121314151617181920212223242526272829303132333435 |
- #pragma once
- #include "DropConfig.h"
- class BlockType;
- class BlockReplacementDrop : public DropConfig
- {
- private:
- const BlockType* zBlockType;
- Framework::Text blockTypeName;
- public:
- BlockReplacementDrop(Framework::Text blockTypeName);
- void initialize() override;
- Framework::Text getBlockTypeName() const;
- void doDrop(Entity* zActor,
- Item* zItem,
- ItemSkill* zUsedSkill,
- Framework::Either<Block*, Entity*> zDestroyedObject) const override;
- };
- class BlockReplacementDropFactory
- : public DropConfigFactory<BlockReplacementDrop>
- {
- public:
- BlockReplacementDropFactory();
- JSONObjectValidationBuilder* addToValidator(
- JSONObjectValidationBuilder* builder) const override;
- const char* getTypeToken() const override;
- BlockReplacementDrop* createInstance(
- Framework::JSON::JSONObject* zJson) const override;
- void addToJson(Framework::JSON::JSONObject* zJson,
- BlockReplacementDrop* zObject) const override;
- };
|