/BJEngine/src/IStrategyCalculator.h
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
5class GameActionsLib;
6struct Rules;
7
8class BJ_EXPORT IStrategyCalculator
9{
10public:
11 virtual bool BuildNextPiece() = 0;//returns false if building is finished
12
13 virtual float BuiltPart() const = 0;
14
15 virtual bool IsFinished() const = 0;
16
17 virtual const GameActionsLib& GetGameActionsLib() const = 0;
18
19 virtual void Reset(const Rules& rules, size_t maxThreads = 10) = 0;
20
21 virtual void Set(const GameActionsLib& lib, const Rules& rules) = 0;
22
23 virtual ~IStrategyCalculator(void) {}
24};
25
26typedef boost::shared_ptr<IStrategyCalculator> IStrategyCalculatorPtr;