C++ Project 2016-2017: Arkanoid
entity_factory.h
Go to the documentation of this file.
1 
3 #ifndef ENTITY_FACTORY_H
4 #define ENTITY_FACTORY_H
5 
6 #include "../logic/entity/player/player.h"
7 #include "../logic/entity/ball/ball.h"
8 #include "../logic/entity/wall/wall.h"
9 #include "../logic/entity/block/block.h"
10 
11 #include <iostream>
12 #include <memory>
13 #include <vector>
14 
15 using namespace std;
16 
19 public:
20 
26  virtual unique_ptr<arkanoid::Player> createPlayer() = 0;
27 
33  virtual vector<unique_ptr<arkanoid::Wall>> createWalls() = 0;
34 
42  virtual vector<unique_ptr<arkanoid::Block>> createBlocks(const string &file) = 0;
43 
49  virtual unique_ptr<arkanoid::Ball> createBall() = 0;
50 
51 };
52 
53 #endif /* ENTITY_FACTORY_H */
Abstract Factory: Creates arkanoid::Entity.