using Firebase.Database; using Newtonsoft.Json; using System.Collections.Generic; using System.Linq; using TMPro; using UnityEngine; using UnityEngine.UI; public class PropositionHandler : MonoBehaviour { public GameManager gameManager; public StorageManager storageManager; public TextMeshProUGUI promptLabel; public PromptList prompts; public Image[] btns; public void ShowQuestion(Question currentQuestion) { List props = currentQuestion.propositions.Values.ToList(); string enPrompt = prompts.GetPromptById(currentQuestion.promptId).en; promptLabel.text = enPrompt; Debug.Log($"Showing Question ({currentQuestion.index}) : {enPrompt}"); for (int i = 0; i < 2; i++) { int index = i; // Capture la valeur de i pour cette itération if(props[i].photoUrl == null) { Debug.Log("One player did not send a proposition !", this); } else { StorageManager.ConvertGoogleStorageURLToHttpsUrl(props[i].photoUrl, _httpURL => { StartCoroutine(StorageManager.DownloadImage_Coroutine(_httpURL, (Texture texture) => { Sprite sprite = Sprite.Create(texture as Texture2D, new Rect(0, 0, texture.width, texture.height), Vector2.zero); btns[index].sprite = sprite; // Utilise l'index local au lieu de i })); }); } } } }