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:
parent
931e6aac97
commit
4b16ce8ff2
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue