Fix Quick Play to load tasks from mainGameData.js

- Added mainGameData.js script to quick-play.html
- Initialize GameDataManager in Quick Play instance
- Modified loadMainTask to use GameDataManager.getTasksForMode()
- Added fallback to legacy gameData if GameDataManager unavailable
- Quick Play should now load the 17 explicit tasks from mainGameData.js
This commit is contained in:
dilgenfritz 2025-11-03 16:00:13 -06:00
parent 931e6aac97
commit 4b16ce8ff2
2 changed files with 23 additions and 4 deletions

View File

@ -281,6 +281,7 @@
<!-- Scripts -->
<script src="src/data/gameDataManager.js"></script>
<script src="src/data/gameData.js"></script>
<script src="src/data/modes/mainGameData.js"></script>
<script src="src/utils/desktop-file-manager.js"></script>
<script src="src/features/stats/playerStats.js"></script>
<script src="src/features/ui/flashMessageManager.js"></script>
@ -705,6 +706,12 @@
try {
gameInstance = new TaskChallengeGame(quickPlaySettings);
console.log('✅ TaskChallengeGame instance created');
// Initialize GameDataManager for Quick Play
if (typeof GameDataManager !== 'undefined' && !window.gameDataManager) {
window.gameDataManager = new GameDataManager();
console.log('🎮 Game Data Manager initialized for Quick Play');
}
} catch (constructorError) {
console.error('❌ Error creating TaskChallengeGame:', constructorError);
// Try a simpler approach if the full constructor fails

View File

@ -4727,16 +4727,28 @@ ${usagePercent > 85 ? '⚠️ Storage getting full - consider deleting some imag
}
loadMainTask() {
// Get tasks from the game mode manager
let tasksToUse = gameData.mainTasks;
// Get tasks from the game mode manager or data manager
let tasksToUse = [];
if (window.gameModeManager && window.gameModeManager.isScenarioMode()) {
tasksToUse = window.gameModeManager.getTasksForMode();
} else {
// For standard, timed, and scored modes, exclude interactive tasks
// For standard, timed, and scored modes, use GameDataManager if available
const currentMode = window.gameModeManager ? window.gameModeManager.currentMode : 'standard';
if (window.gameDataManager) {
// Use GameDataManager to get tasks for the current mode
tasksToUse = window.gameDataManager.getTasksForMode(currentMode);
console.log(`📋 Using GameDataManager for ${currentMode} mode: ${tasksToUse.length} tasks`);
} else {
// Fallback to legacy gameData
tasksToUse = gameData.mainTasks || [];
console.log(`⚠️ GameDataManager not available, using legacy gameData: ${tasksToUse.length} tasks`);
}
// For standard modes, exclude interactive tasks
if (currentMode === 'standard' || currentMode === 'timed' || currentMode === 'scored') {
tasksToUse = gameData.mainTasks.filter(task => !task.interactiveType);
tasksToUse = tasksToUse.filter(task => !task.interactiveType);
}
}