Skip to content

Commit

Permalink
Merge branch 'nighthawkcoders:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
ethanwong2008 authored Jan 28, 2025
2 parents f84c46a + c1146e6 commit 09e5c9e
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 8 deletions.
5 changes: 5 additions & 0 deletions assets/js/platformer/GameControl.js
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,11 @@ const GameControl = {
await newLevel.load();
GameEnv.currentLevel = newLevel;

// Save the current level index to localStorage
const currentLevelIndex = GameEnv.levels.indexOf(newLevel);
console.log("Set currentLevelIndex to localStorage:", currentLevelIndex);
localStorage.setItem('currentLevelIndex', currentLevelIndex);

// Update invert property
GameEnv.setInvert();

Expand Down
10 changes: 4 additions & 6 deletions assets/js/platformer/GameSetterHills.js
Original file line number Diff line number Diff line change
Expand Up @@ -105,23 +105,19 @@ const assets = {
{ name: 'hills', id: 'background', class: BackgroundParallax, data: assets.backgrounds.hills },
{ name: 'grass', id: 'floor', class: Platform, data: assets.platforms.grass },
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.1, yPercentage: 1},

{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.067, yPercentage: 0.55},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.1, yPercentage: 0.55},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.03, yPercentage: 0.55},

{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.2, yPercentage: 0.76 },
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.31, yPercentage: 0.75},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.3475, yPercentage: 0.8},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.3775, yPercentage: 0.8},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.525, yPercentage: 0.8},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.5625, yPercentage: 0.8},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.5999, yPercentage: 0.75},

{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.2752, yPercentage: 0.4},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.3126, yPercentage: 0.4},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.35, yPercentage: 0.4},

{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.48, yPercentage: 0.4},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.5174, yPercentage: 0.4},
{ name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: assets.platforms.block, xPercentage: 0.5548, yPercentage: 0.4},
Expand All @@ -142,8 +138,10 @@ const assets = {
{ name: 'coin', id: 'coin', class: Coin, data: assets.obstacles.coin, xPercentage: 0.09, yPercentage: 0.88 },
{ name: 'coin', id: 'coin', class: Coin, data: assets.obstacles.coin, xPercentage: 0.057, yPercentage: 0.4},
{ name: 'coin', id: 'coin', class: Coin, data: assets.obstacles.coin, xPercentage: 0.69, yPercentage: 0.88 },
{ name: 'coin', id: 'coin', class: Coin, data: assets.obstacles.coin, xPercentage: 0.55, yPercentage: 0.68},
{ name: 'coin', id: 'coin', class: Coin, data: assets.obstacles.coin, xPercentage: 0.55, yPercentage: 0.3},
{ name: 'coin', id: 'coin', class: Coin, data: assets.obstacles.coin, xPercentage: 0.55, yPercentage: 0.69},
{ name: 'coin', id: 'coin', class: Coin, data: assets.obstacles.coin, xPercentage: 0.34, yPercentage: 0.69},
{ name: 'coin', id: 'coin', class: Coin, data: assets.obstacles.coin, xPercentage: 0.31, yPercentage: 0.27},
{ name: 'coin', id: 'coin', class: Coin, data: assets.obstacles.coin, xPercentage: 0.5, yPercentage: 0.27},
{ name: 'mario', id: 'player', class: PlayerHills, data: assets.players.mario },
{ name: 'tube', id: 'finishline', class: FinishLine, data: assets.obstacles.tube, xPercentage: 0.85, yPercentage: 0.85 },
{ name: 'loading', id: 'background', class: BackgroundTransitions, data: assets.transitions.loading },
Expand Down
15 changes: 13 additions & 2 deletions assets/js/platformer/GameSetup.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,8 @@ const GameSetup = {
// console.log(GameEnv.player?.x)
if (GameEnv.player?.x > GameEnv.innerWidth) {
GameEnv.player = null; // reset for next level
Leaderboard.openLeaderboardPanel();
//Leaderboard.openLeaderboardPanel();
alert("Level Complete! Click OK to continue to the next level.");
return true;
} else {
return false;
Expand Down Expand Up @@ -240,7 +241,17 @@ const GameSetup = {
GameLevelSetup(GameSetterBoss, this.path, this.playerOffScreenCallBack);
// End Game
GameLevelSetup(GameSetterEnd, this.path, this.gameOverCallBack, true);


const savedLevelIndex = localStorage.getItem('currentLevelIndex');
if (savedLevelIndex !== null) {
GameEnv.currentLevel = GameEnv.levels[parseInt(savedLevelIndex)];
GameControl.transitionToLevel(GameEnv.levels[savedLevelIndex]);
console.log("Restored level index from localStorage:", savedLevelIndex);
} else {
console.log("No saved level index found in localStorage. Starting from the beginning.");
GameEnv.currentLevel = GameEnv.levels[1];
GameControl.transitionToLevel(GameEnv.levels[1]);
}
}
}
// Bind the methods to the GameSetup object, ensures "this" inside of methods binds to "GameSetup"
Expand Down

0 comments on commit 09e5c9e

Please # to comment.