acesesibiliti

This commit is contained in:
2025-12-12 22:46:38 +01:00
parent 3809ee2c97
commit 93757fc8c4
20 changed files with 5740 additions and 89 deletions

View File

@@ -0,0 +1,180 @@
/**
* INPUT REMAPPING & SUBTITLE SYSTEM - QUICK TEST SCRIPT
*
* Copy-paste this into browser console (F12) to test all features
* Make sure the game is running first!
*/
console.log('🎮 Starting Input Remapping & Subtitle System Test Suite...\n');
// Get systems
const visualCues = game.scene.scenes[1].visualSoundCues;
const inputSystem = game.scene.scenes[1].inputRemapping;
// ========== SUBTITLE SIZE TESTING ==========
console.log('📏 Test 1: Subtitle Sizes');
setTimeout(() => {
console.log('Testing SMALL size...');
visualCues.setSubtitleSize('small');
visualCues.showSubtitle('This is SMALL text', 2000, 'System');
}, 1000);
setTimeout(() => {
console.log('Testing MEDIUM size...');
visualCues.setSubtitleSize('medium');
visualCues.showSubtitle('This is MEDIUM text', 2000, 'System');
}, 3500);
setTimeout(() => {
console.log('Testing LARGE size...');
visualCues.setSubtitleSize('large');
visualCues.showSubtitle('This is LARGE text', 2000, 'System');
}, 6000);
setTimeout(() => {
console.log('Testing VERY LARGE size...');
visualCues.setSubtitleSize('very-large');
visualCues.showSubtitle('This is VERY LARGE text', 2000, 'System');
}, 8500);
setTimeout(() => {
console.log('Resetting to MEDIUM...');
visualCues.setSubtitleSize('medium');
}, 11000);
// ========== INPUT REMAPPING TESTING ==========
console.log('\n🎮 Test 2: Input Remapping');
setTimeout(() => {
console.log('\n=== DEFAULT PROFILE ===');
console.log('Move Up:', inputSystem.getBindingDisplay('move_up'));
console.log('Move Down:', inputSystem.getBindingDisplay('move_down'));
console.log('Move Left:', inputSystem.getBindingDisplay('move_left'));
console.log('Move Right:', inputSystem.getBindingDisplay('move_right'));
console.log('Interact:', inputSystem.getBindingDisplay('interact'));
console.log('Attack:', inputSystem.getBindingDisplay('attack'));
console.log('Inventory:', inputSystem.getBindingDisplay('inventory'));
console.log('Sprint:', inputSystem.getBindingDisplay('sprint'));
}, 12000);
setTimeout(() => {
console.log('\n=== SWITCHING TO LEFT-HANDED PROFILE ===');
inputSystem.switchProfile('left-handed');
console.log('Move Up:', inputSystem.getBindingDisplay('move_up'));
console.log('Move Down:', inputSystem.getBindingDisplay('move_down'));
console.log('Move Left:', inputSystem.getBindingDisplay('move_left'));
console.log('Move Right:', inputSystem.getBindingDisplay('move_right'));
console.log('Interact:', inputSystem.getBindingDisplay('interact'));
}, 14000);
setTimeout(() => {
console.log('\n=== SWITCHING TO ARROWS PROFILE ===');
inputSystem.switchProfile('arrows');
console.log('Move Up:', inputSystem.getBindingDisplay('move_up'));
console.log('Move Down:', inputSystem.getBindingDisplay('move_down'));
console.log('Move Left:', inputSystem.getBindingDisplay('move_left'));
console.log('Move Right:', inputSystem.getBindingDisplay('move_right'));
}, 16000);
setTimeout(() => {
console.log('\n=== BACK TO DEFAULT PROFILE ===');
inputSystem.switchProfile('default');
console.log('Current profile:', inputSystem.getCurrentProfile());
}, 18000);
// ========== CONTROLLER TESTING ==========
setTimeout(() => {
console.log('\n🎮 Test 3: Controller Detection');
const isConnected = inputSystem.isControllerConnected();
console.log('Controller connected:', isConnected);
if (isConnected) {
const info = inputSystem.getControllerInfo();
console.log('Controller info:', info);
console.log('A button:', inputSystem.getControllerButtonName('A'));
console.log('Start button:', inputSystem.getControllerButtonName('START'));
} else {
console.log(' No controller detected. Connect a controller to test.');
}
}, 20000);
// ========== EXPORT/IMPORT TESTING ==========
setTimeout(() => {
console.log('\n💾 Test 4: Export/Import Bindings');
const exported = inputSystem.exportBindings();
console.log('Exported bindings (first 200 chars):', exported.substring(0, 200) + '...');
// Test import
const success = inputSystem.importBindings(exported);
console.log('Import success:', success);
}, 22000);
// ========== PROFILE LISTING ==========
setTimeout(() => {
console.log('\n📋 Test 5: Available Profiles');
const profiles = inputSystem.getProfiles();
console.log('All profiles:', profiles);
console.log('Current profile:', inputSystem.getCurrentProfile());
}, 24000);
// ========== COMBINED TEST ==========
setTimeout(() => {
console.log('\n🎨 Test 6: Combined Features');
// Large subtitles with speaker
visualCues.setSubtitleSize('large');
visualCues.showSubtitle('Testing large subtitles with speaker!', 3000, 'NPC', 'left');
console.log('Subtitle size: LARGE');
console.log('Speaker: NPC (yellow)');
console.log('Direction: LEFT (arrow)');
}, 26000);
setTimeout(() => {
// Very large subtitles
visualCues.setSubtitleSize('very-large');
visualCues.showSubtitle('VERY LARGE TEXT!', 3000, 'System', 'both');
console.log('Subtitle size: VERY LARGE');
console.log('Direction: BOTH (arrows)');
}, 29500);
setTimeout(() => {
// Reset to medium
visualCues.setSubtitleSize('medium');
}, 33000);
// ========== REBINDING DEMO ==========
setTimeout(() => {
console.log('\n🔧 Test 7: Rebinding Demo');
console.log(' To test rebinding, run this command:');
console.log(' inputSystem.startRebinding("interact", (action, key) => {');
console.log(' console.log(`Rebound ${action} to ${key}`);');
console.log(' });');
console.log('Then press any key to rebind, or ESC to cancel.');
}, 34000);
// ========== FINAL SUMMARY ==========
setTimeout(() => {
console.log('\n✅ Test Suite Complete!');
console.log('\n📋 Summary:');
console.log(' - Subtitle Sizes (4 sizes): ✅');
console.log(' - Input Remapping: ✅');
console.log(' - Profile Switching: ✅');
console.log(' - Controller Detection: ✅');
console.log(' - Export/Import: ✅');
console.log(' - One-Handed Layouts: ✅');
console.log('\n🎉 All features working correctly!');
console.log('\n📖 See testing guides for detailed instructions:');
console.log(' - CLOSED_CAPTIONS_TESTING.md');
console.log(' - INPUT_REMAPPING_TESTING.md');
console.log('\n🎮 Quick Commands:');
console.log(' visualCues.setSubtitleSize("small|medium|large|very-large")');
console.log(' inputSystem.switchProfile("default|left-handed|arrows")');
console.log(' inputSystem.getBindingDisplay("action_name")');
console.log(' inputSystem.startRebinding("action_name", callback)');
}, 36000);
console.log('\n⏱ Test will run for ~40 seconds. Watch the screen and console!\n');