#include "bootstrap.hpp" // Interfaces #include "interfaces/argument_parser.hpp" #include "interfaces/game.hpp" #include "interfaces/randomization.hpp" #include "interfaces/vector2.hpp" // Implementations #include "argument_parser.hpp" #include "engine/graphics/vector2.hpp" #include "game/game.hpp" #include "randomization/generator.hpp" #include "randomization/seed_generator.hpp" #include #include Container bootstrap() { auto container = Container(); container.bind().to(); container.bind().to(); container.bind().to_factory( [](const unsigned int &seed) { return std::dynamic_pointer_cast( std::make_shared(seed)); }); container.bind().to_factory( []() { return std::dynamic_pointer_cast( std::make_shared(std::make_unique())); }); container.bind().to_factory( [](const IVector2Options &options) { return std::dynamic_pointer_cast( std::make_shared(options)); }); return container; }