2
0

ClusterBehavior.h 778 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * RecruitHeroBehavior.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/VCMI_Lib.h"
  12. #include "../Goals/CGoal.h"
  13. #include "../AIUtility.h"
  14. struct ObjectCluster;
  15. namespace Goals
  16. {
  17. class ClusterBehavior : public CGoal<ClusterBehavior>
  18. {
  19. public:
  20. ClusterBehavior()
  21. :CGoal(CLUSTER_BEHAVIOR)
  22. {
  23. }
  24. virtual TGoalVec decompose() const override;
  25. virtual std::string toString() const override;
  26. virtual bool operator==(const ClusterBehavior & other) const override
  27. {
  28. return true;
  29. }
  30. private:
  31. Goals::TGoalVec decomposeCluster(std::shared_ptr<ObjectCluster> cluster) const;
  32. };
  33. }