/BJEngine/src/IStrategyCalculator.h

https://bitbucket.org/mild1/bj · C Header · 26 lines · 17 code · 9 blank · 0 comment · 0 complexity · 711191430a8213701672f454fd08c813 MD5 · raw file

  1. #pragma once
  2. #include "stdafx.h"
  3. #include <boost/shared_ptr.hpp>
  4. class GameActionsLib;
  5. struct Rules;
  6. class BJ_EXPORT IStrategyCalculator
  7. {
  8. public:
  9. virtual bool BuildNextPiece() = 0;//returns false if building is finished
  10. virtual float BuiltPart() const = 0;
  11. virtual bool IsFinished() const = 0;
  12. virtual const GameActionsLib& GetGameActionsLib() const = 0;
  13. virtual void Reset(const Rules& rules, size_t maxThreads = 10) = 0;
  14. virtual void Set(const GameActionsLib& lib, const Rules& rules) = 0;
  15. virtual ~IStrategyCalculator(void) {}
  16. };
  17. typedef boost::shared_ptr<IStrategyCalculator> IStrategyCalculatorPtr;