Mario: end of level logic
This commit is contained in:
@@ -67,6 +67,12 @@ void MarioVisitor::visit(const SDLPP::RenderObject &obj) {
|
||||
case MUSHROOM_ID:
|
||||
mushroom = true;
|
||||
break;
|
||||
case POLE_BOTTOM_ID:
|
||||
case POLE_TOP_ID:
|
||||
case FLAG_ID:
|
||||
_end = true;
|
||||
endPos = obj.getPos();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -108,6 +108,14 @@ public:
|
||||
return _bounce;
|
||||
}
|
||||
|
||||
bool levelEnd() {
|
||||
return _end;
|
||||
}
|
||||
|
||||
const SDLPP::Vec2D<double> &getEndPos() {
|
||||
return endPos;
|
||||
}
|
||||
|
||||
private:
|
||||
bool onGround = false;
|
||||
double groundY = 0;
|
||||
@@ -130,6 +138,8 @@ private:
|
||||
bool mushroom = false;
|
||||
std::vector<std::shared_ptr<MarioBlock>> &_moving_objects;
|
||||
bool _bounce = false;
|
||||
bool _end = false;
|
||||
SDLPP::Vec2D<double> endPos;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user