Skip to content

Commit b1852c3

Browse files
author
GauravDe-git
committed
Fixed Some bugs related to reseting game state
1 parent e43b0f6 commit b1852c3

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

Mini_Assailants/src/Level.cpp

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ void Level::setLevel(int levelNumber)
120120
switch (levelNumber)
121121
{
122122
case 1:
123+
bgm1.replay();
123124
backgroundPath = "assets/textures/stage1.png";
124125
topEdgeCollision = 225;
125126
enemyInfos = {
@@ -133,6 +134,7 @@ void Level::setLevel(int levelNumber)
133134
};
134135
break;
135136
case 2:
137+
bgm2.replay();
136138
backgroundPath = "assets/textures/stage2.png";
137139
topEdgeCollision = 237;
138140
enemyInfos = {
@@ -145,6 +147,7 @@ void Level::setLevel(int levelNumber)
145147
};
146148
break;
147149
case 3:
150+
bgm3.replay();
148151
backgroundPath = "assets/textures/stage3.png";
149152
topEdgeCollision = 210;
150153
enemyInfos = {
@@ -401,8 +404,6 @@ void Level::beginState(GameState newState, GameState oldState)
401404
bgm1.stop();
402405
bgm2.stop();
403406
bgm3.stop();
404-
//Reset coins
405-
player.setCoins(0);
406407
break;
407408
case GameState::Playing:
408409
if (!isFirstLoad && oldState != GameState::Paused)
@@ -432,6 +433,8 @@ void Level::endState(GameState oldState,GameState newState)
432433
entities.clear();
433434
}
434435
break;
436+
case GameState::Paused:
437+
break;
435438
case GameState::GameOver:
436439
enemies.clear();
437440
break;
@@ -651,8 +654,17 @@ void Level::doPaused(float deltaTime)
651654
setState(GameState::Playing);
652655

653656
if (Input::getKeyDown(KeyCode::Q))
657+
{
658+
// Reset all game state variables
659+
player.setPosition({ SCREEN_WIDTH / 2 - 200,(SCREEN_HEIGHT - 10) });
660+
camera.setPosition(glm::vec2{0,0});
661+
player.setHP(player.getMaxHP());
662+
player.setMP(player.getMaxMP());
663+
enemies.clear();
664+
entities.clear();
665+
loadLevelAssets();
654666
setState(GameState::Menu);
655-
667+
}
656668
}
657669

658670
void Level::doGameOver()

0 commit comments

Comments
 (0)