ChestFilter.h 610 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include <optional>
  3. #include "IEntityFilter.h"
  4. #include "Chest.h"
  5. namespace cheat::game
  6. {
  7. class ChestFilter : public IEntityFilter
  8. {
  9. public:
  10. ChestFilter(game::Chest::ChestRarity rarity);
  11. ChestFilter(game::Chest::ChestState state);
  12. ChestFilter(game::Chest::ItemType itemType);
  13. bool IsValid(game::Entity* entity) const override;
  14. friend ChestFilter operator+(ChestFilter lFilter, const ChestFilter& rFilter);
  15. private:
  16. std::optional<game::Chest::ChestRarity> m_Rarity;
  17. std::optional<game::Chest::ChestState> m_State;
  18. std::optional<game::Chest::ItemType> m_ItemType;
  19. };
  20. }