#include "bootstrap.hpp" // Interfaces #include "interfaces/enemy.hpp" #include "interfaces/enemy_creator.hpp" #include "interfaces/hero.hpp" #include "interfaces/weapon.hpp" // Concretes #include "enemy.hpp" #include "enemy_creator.hpp" #include "hero.hpp" #include "sword.hpp" auto bootstrap() -> yacppdic::Container { auto container = yacppdic::Container(); container.bind().to(); container.bind().to(); container.bind().to(); container.bind() .to_factory( []() { return std::make_unique(SMALL_ENEMY_HEALTH); } ) .when_tagged(); container.bind() .to_factory( []() { return std::make_unique(BIG_ENEMY_HEALTH); } ) .when_tagged(); return container; }