Tinman  1.0
playerfactory.h
Go to the documentation of this file.
1 #ifndef PLAYERFACTORY_H
2 #define PLAYERFACTORY_H
3 #include "race.h"
4 #include "player.h"
5 
6 class PlayerFactory {
7  public:
8  enum class Type{Human, Bot, Network, Debug};
9  static Player::shared create(Type type);
10 };
11 
13 public:
14  static Player::shared create(std::string nick, EventListener::shared input,
15  Sound::shared sound, Car::shared car);
16 };
17 
18 class BotFactory{
19 public:
20  static Player::shared create(std::string nick, Physics::shared physics,
21  Sound::shared sound, Race::shared race, Car::shared car);
22 };
23 
25 public:
26  static Player::shared create(std::string nick, Sound::shared sound, Car::shared car);
27 };
28 
30 public:
31  static Player::shared create(std::string nick, Sound::shared sound, Car::shared car);
32 };
33 #endif
std::shared_ptr< Race > shared
Definition: race.h:39
static Player::shared create(std::string nick, EventListener::shared input, Sound::shared sound, Car::shared car)
Definition: playerfactory.cpp:21
std::shared_ptr< Physics > shared
Definition: physics.h:33
static Player::shared create(std::string nick, Physics::shared physics, Sound::shared sound, Race::shared race, Car::shared car)
Definition: playerfactory.cpp:38
static Player::shared create(std::string nick, Sound::shared sound, Car::shared car)
Definition: playerfactory.cpp:54
Definition: playerfactory.h:12
std::shared_ptr< Player > shared
Definition: player.h:14
std::shared_ptr< Sound > shared
Definition: sound.h:13
std::shared_ptr< Car > shared
Definition: car.h:44
Definition: playerfactory.h:29
static Player::shared create(Type type)
Definition: playerfactory.h:6
static Player::shared create(std::string nick, Sound::shared sound, Car::shared car)
Definition: playerfactory.cpp:47
Type
Definition: playerfactory.h:8
Definition: playerfactory.h:24
Definition: playerfactory.h:18
std::shared_ptr< EventListener > shared
Definition: input.h:56