#include "visitor_generator.hpp" #include "../objectids.hpp" #include "mario_visitor.hpp" #include "mushroom_visitor.hpp" #include "goomba_visitor.hpp" std::shared_ptr getVisitor(const MarioBlock &block, SDLPP::Scene &scene, bool &quit, int &coin_count, std::vector> &moving_objects) { std::shared_ptr result{}; switch (block.getId()) { case MARIO_ID: result = std::static_pointer_cast( std::make_shared(block.getMovement().getY() < 0, scene, quit, coin_count, moving_objects)); break; case MUSHROOM_ID: result = std::static_pointer_cast( std::make_shared()); break; case GOOMBA_ID: result = std::static_pointer_cast( std::make_shared()); break; default: break; } return result; }