╔════════════════════════════════════════════════════════════════╗
║   FIX : INTRO VIDEO NE SE LANCE PAS                           ║
║   Date : 7 novembre 2025                                       ║
║   Statut : ✅ CORRIGÉ + LOGS AJOUTÉS                         ║
╚════════════════════════════════════════════════════════════════╝

📋 PROBLÈME
-----------
L'intro vidéo (fullscreen_video) du premier step de la map ne se
jouait pas. On passait directement à la map avec les zones.

🔍 CAUSE IDENTIFIÉE
-------------------
Le système ne détectait pas correctement la PREMIÈRE VISITE à la map.
Il chargeait toujours le CurrentStepId sauvegardé (step_smouth) au
lieu de démarrer par l'intro.

🔧 SOLUTION APPLIQUÉE
---------------------
1. Ajout d'un flag "IntroWatched_[mapId]" pour détecter la 1ère visite
2. Nouvelle logique de détection avec 4 CAS bien distincts
3. Logs détaillés pour tracer le comportement
4. Marquage de l'intro comme "vue" après sa lecture

📝 FICHIERS MODIFIÉS
--------------------
Scripts/MapManager.cs
  • LoadMapConfiguration() - Lignes 179-235
    → Nouvelle logique de détection première visite
    → Logs détaillés (IntroWatched, CurrentStepId, etc.)
    → Ajout du CAS 2 spécifique pour première visite
  
  • OnFullscreenVideoComplete() - Lignes 330-352
    → Marquage IntroWatched = 1 après l'intro
    → Logs de confirmation

🔑 LOGIQUE DES 4 CAS
--------------------
CAS 1: NextStepId existe
  → Retour d'un niveau, passer au NextStepId

CAS 2: Premier step = fullscreen_video ET IntroWatched = false
  → PREMIÈRE VISITE - Démarrer avec l'intro ✅

CAS 3: CurrentStepId vide
  → 3a: Si IntroWatched = true → Passer au step suivant
  → 3b: Sinon → Démarrer au premier step

CAS 4: CurrentStepId existe
  → Reprise sur ce step

📊 LOGS AJOUTÉS
---------------
[MapManager] IntroWatched: true/false
[MapManager] CurrentStepId depuis PlayerPrefs: 'xxx'
[MapManager] ✅ CAS 1/2/3/4: ...
[MapManager] ✅ Intro marquée comme vue pour la map xxx

🧪 POUR TESTER
--------------
1. RÉINITIALISER LES PLAYERPREFS:
   Exécutez: .\RESET_ET_TEST_INTRO.ps1
   
   OU depuis Unity:
   - Ajouter ResetMapProgress.cs à la scène
   - Appeler ResetMapProgress.ResetMap("map-Q1")

2. LANCER LE JEU:
   - Menu → Map Q1
   - L'intro devrait se jouer
   - Vérifier les logs:
     [MapManager] ✅ CAS 2: PREMIÈRE VISITE - Démarrage avec l'intro

3. APRÈS L'INTRO:
   - La map s'affiche normalement
   - Log: [MapManager] ✅ Intro marquée comme vue

4. RELANCER LA MAP:
   - L'intro ne se rejoue pas
   - Log: [MapManager] ✅ CAS 4: Reprise - Step actuel: step_smouth

✅ RÉSULTAT ATTENDU
-------------------
• Première visite → Intro se joue automatiquement
• Visites suivantes → Intro skippée, on passe direct à la map
• Retour d'un jeu → Continue au bon step
• Logs détaillés pour diagnostic facile

🛠️ OUTILS DE DEBUG
-------------------
• RESET_ET_TEST_INTRO.ps1
  → Script PowerShell pour reset rapide des PlayerPrefs

• ResetMapProgress.cs
  → Composant Unity pour reset depuis l'éditeur
  → Méthodes: ResetMap(), ResetAndLoadMap(), ResetAllMaps()

📚 DOCUMENTATION
----------------
docs/FIX_INTRO_VIDEO_MAP.md
  → Documentation complète (à mettre à jour)

═══════════════════════════════════════════════════════════════════

