BuildThis.h 974 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * BuildThis.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 "CGoal.h"
  12. struct HeroPtr;
  13. class VCAI;
  14. class FuzzyHelper;
  15. namespace Goals
  16. {
  17. class DLL_EXPORT BuildThis : public CGoal<BuildThis>
  18. {
  19. public:
  20. BuildThis() //should be private, but unit test uses it
  21. : CGoal(Goals::BUILD_STRUCTURE)
  22. {
  23. }
  24. BuildThis(BuildingID Bid, const CGTownInstance * tid)
  25. : CGoal(Goals::BUILD_STRUCTURE)
  26. {
  27. bid = Bid.getNum();
  28. town = tid;
  29. priority = 1;
  30. }
  31. BuildThis(BuildingID Bid)
  32. : CGoal(Goals::BUILD_STRUCTURE)
  33. {
  34. bid = Bid.getNum();
  35. priority = 1;
  36. }
  37. TGoalVec getAllPossibleSubgoals() override
  38. {
  39. return TGoalVec();
  40. }
  41. TSubgoal whatToDoToAchieve() override;
  42. //bool fulfillsMe(TSubgoal goal) override;
  43. bool operator==(const BuildThis & other) const override;
  44. };
  45. }