#include "visitor_generator.hpp" #include "../objectids.hpp" #include "mario_visitor.hpp" #include "mushroom_visitor.hpp" std::shared_ptr< SDLPP::Visitor > getVisitor( const MarioBlock &block, SDLPP::Scene &scene, bool &quit, int &coin_count, std::vector< std::shared_ptr< MarioBlock > > &moving_objects ) { std::shared_ptr< SDLPP::Visitor > 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()); default: break; } return result; }