#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(65); } ) .when_tagged(SMALL_ENEMY_TAG); container.bind() .to_factory( []() { return std::make_unique(130); } ) .when_tagged(BIG_ENEMY_TAG); return container; }