DefaultBlockItemDrop.h 793 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include "DropConfig.h"
  3. class DefaultBlockItemDrop : public DropConfig
  4. {
  5. public:
  6. DefaultBlockItemDrop();
  7. void doDrop(Entity* zActor,
  8. Item* zItem,
  9. ItemSkill* zUsedSkill,
  10. Framework::Either<Block*, Entity*> zDestroyedObject) const override;
  11. };
  12. class DefaultBlockItemDropFactory
  13. : public DropConfigFactory<DefaultBlockItemDrop>
  14. {
  15. public:
  16. DefaultBlockItemDropFactory();
  17. JSONObjectValidationBuilder* addToValidator(
  18. JSONObjectValidationBuilder* builder) const override;
  19. const char* getTypeToken() const override;
  20. DefaultBlockItemDrop* createInstance(
  21. Framework::JSON::JSONObject* zJson) const override;
  22. void addToJson(Framework::JSON::JSONObject* zJson,
  23. DefaultBlockItemDrop* zObject) const override;
  24. };