#ifndef MARIO_VISITOR_H #define MARIO_VISITOR_H #include "../sdlpp/sdlpp_visitor.hpp" #include "../sdlpp/sdlpp_geometry.hpp" class MarioVisitor : public SDLPP::Visitor { public: MarioVisitor() {} virtual void visit( const SDLPP::RenderObject &obj ) override; bool isOnGround() { return onGround; } bool isDead() { return death; } bool isStopped() { return stop; } double newXPos() { return newX; } virtual void fromId( uint64_t id ) override { from = id; } bool canGoLeft() { return !left; } bool canGoRight() { return !right; } private: bool onGround = false; bool death = false; bool stop = false; double newX; uint64_t from = -1; bool left = false; bool right = false; }; #endif