ArtifactsUIController.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * ArtifactsUIController.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. #include "../lib/constants/EntityIdentifiers.h"
  12. #include "../lib/networkPacks/ArtifactLocation.h"
  13. VCMI_LIB_NAMESPACE_BEGIN
  14. class CGHeroInstance;
  15. VCMI_LIB_NAMESPACE_END
  16. class ArtifactsUIController
  17. {
  18. size_t numOfMovedArts;
  19. size_t numOfArtsAskAssembleSession;
  20. std::set<ArtifactID> ignoredArtifacts;
  21. public:
  22. ArtifactsUIController();
  23. bool askToAssemble(const ArtifactLocation & al, const bool onlyEquipped = false, const bool checkIgnored = false);
  24. bool askToAssemble(const CGHeroInstance * hero, const ArtifactPosition & slot, const bool onlyEquipped = false,
  25. const bool checkIgnored = false);
  26. bool askToDisassemble(const CGHeroInstance * hero, const ArtifactPosition & slot);
  27. void artifactRemoved();
  28. void artifactMoved();
  29. void bulkArtMovementStart(size_t totalNumOfArts, size_t possibleAssemblyNumOfArts);
  30. void artifactAssembled();
  31. void artifactDisassembled();
  32. };