QuestRequirement.h 776 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "QuestEvent.h"
  3. class QuestRequirementStorage;
  4. class QuestRequirement : public virtual Framework::ReferenceCounter
  5. {
  6. private:
  7. Framework::Text id;
  8. public:
  9. QuestRequirement(Framework::Text id);
  10. virtual bool processEvent(
  11. QuestEvent* zEvent, QuestRequirementStorage* zStorage)
  12. = 0;
  13. virtual Framework::JSON::JSONObject* getAsJSON() const = 0;
  14. const Framework::Text& getRequirementId() const;
  15. };
  16. class QuestRequirementBlockBreak : public QuestRequirement
  17. {
  18. };
  19. class QuestRequirementBlockPlace : public QuestRequirement
  20. {};
  21. class QuestRequirementBlockInteract : public QuestRequirement
  22. {};
  23. class QuestRequirementCraft : public QuestRequirement
  24. {};
  25. class QuestRequirementItemInInventory : public QuestRequirement
  26. {};