QuestEvent.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #pragma once
  2. #include "Entity.h"
  3. class QuestEvent : public virtual Framework::ReferenceCounter
  4. {
  5. private:
  6. Entity* actingEntity;
  7. public:
  8. QuestEvent(Entity* actingEntity);
  9. ~QuestEvent();
  10. Entity* zActingEntity() const;
  11. };
  12. class QuestEventOpenDialog : public QuestEvent
  13. {
  14. private:
  15. Framework::Text dialogId;
  16. public:
  17. QuestEventOpenDialog(Entity* actingEntity, Framework::Text dialogId);
  18. const Framework::Text& getDialogId() const;
  19. };
  20. class QuestEventBlockBreak : public QuestEvent
  21. {
  22. private:
  23. int blockTypeId;
  24. int usedItemTypeId;
  25. public:
  26. QuestEventBlockBreak(
  27. Entity* actingEntity, int blockTypeId, int usedItemTypeId);
  28. int getBlockTypeId() const;
  29. int getUsedItemTypeId() const;
  30. };
  31. class QuestEventBlockPlace : public QuestEvent
  32. {
  33. private:
  34. int blockTypeId;
  35. public:
  36. QuestEventBlockPlace(Entity* actingEntity, int blockTypeId);
  37. int getBlockTypeId() const;
  38. };
  39. class QuestEventBlockInteract : public QuestEvent
  40. {
  41. private:
  42. int blockTypeId;
  43. int usedItemTypeId;
  44. public:
  45. QuestEventBlockInteract(
  46. Entity* actingEntity, int blockTypeId, int usedItemTypeId);
  47. int getBlockTypeId() const;
  48. int getUsedItemTypeId() const;
  49. };
  50. class QuestEventTimeUpdate : public QuestEvent
  51. {
  52. public:
  53. QuestEventTimeUpdate();
  54. };
  55. class QuestEventItemPickup : public QuestEvent
  56. {
  57. private:
  58. int itemTypeId;
  59. int amount;
  60. public:
  61. QuestEventItemPickup(Entity* actingEntity, int itemTypeId, int amount);
  62. int getItemTypeId() const;
  63. int getAmount() const;
  64. };