DefaultInventoryDrop.h 821 B

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