This commit is contained in:
Fangh 2024-02-27 21:25:16 +01:00
parent c10683a6f6
commit c290bbd1cb
6 changed files with 32 additions and 6 deletions

View File

@ -321,3 +321,4 @@ MonoBehaviour:
voterStickerPrefab: {fileID: 4312846972391547553, guid: 69942fa558cf34dfc91982c6bccef840, type: 3}
playerName: {fileID: 782069874130417341}
playerGrid: {fileID: 4509981124141486577}
defaultTexture: {fileID: 2800000, guid: 57d7dffbdddc24c959c3c072208cbafe, type: 3}

View File

@ -1388,6 +1388,7 @@ MonoBehaviour:
storageManager: {fileID: 429358652}
promptLabel: {fileID: 1545657113}
prompts: {fileID: 11400000, guid: 21907abc84e40403ca34c4fb9ab30b06, type: 2}
defaultImage: {fileID: 21300000, guid: 49c6da5c3a35a6b47a96d6e9c2353c1e, type: 3}
btns:
- {fileID: 456700976}
- {fileID: 589915591}

View File

@ -546,7 +546,7 @@ private void OnCurrentQuestionChanged(object sender, ValueChangedEventArgs onlin
VotePicture.SetActive(true);
WaitingOtherPlayers.SetActive(false);
endOfViewDate = DateTime.Now.AddSeconds(20);
VotePicture.GetComponent<PropositionHandler>().ShowQuestion(q);
VotePicture.GetComponent<PropositionHandler>().ShowPlayersProposition(q);
}
}

View File

@ -15,11 +15,17 @@ public class PropositionFrame : MonoBehaviour
public GameObject voterStickerPrefab;
public TextMeshProUGUI playerName;
public Transform playerGrid;
public Texture2D defaultTexture;
private Dictionary<Player, GameObject> currentVoters = new Dictionary<Player, GameObject>();
private Proposition proposition;
public void Initialize(Proposition _proposition)
private void OnEnable()
{
picture.texture = defaultTexture;
}
public void SetProposition(Proposition _proposition)
{
Debug.Log($"Initializing {_proposition.owner.name}'s proposition", this);
proposition = _proposition;
@ -27,12 +33,27 @@ public void Initialize(Proposition _proposition)
if (!string.IsNullOrEmpty(proposition.photoUrl))
DisplayPicture(proposition.photoUrl);
else
picture.texture = defaultTexture;
foreach(var voters in currentVoters)
ResetVoters();
}
public void SetNoProposition()
{
picture.texture = defaultTexture;
playerName.text = "Nobody";
ResetVoters();
}
private void ResetVoters()
{
foreach (var voters in currentVoters)
{
Destroy(voters.Value);
}
currentVoters.Clear();
}
/// <summary>

View File

@ -2,6 +2,7 @@
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
@ -12,9 +13,10 @@ public class PropositionHandler : MonoBehaviour
public StorageManager storageManager;
public TextMeshProUGUI promptLabel;
public PromptList prompts;
public Sprite defaultImage;
public Image[] btns;
public void ShowQuestion(Question currentQuestion)
public void ShowPlayersProposition(Question currentQuestion)
{
List<Proposition> props = currentQuestion.propositions.Values.ToList();
string enPrompt = prompts.GetPromptById(currentQuestion.promptId).en;
@ -26,6 +28,7 @@ public void ShowQuestion(Question currentQuestion)
if(props[i].photoUrl == null)
{
Debug.Log("One player did not send a proposition !", this);
btns[index].sprite = defaultImage; // Utilise l'index local au lieu de i
}
else
{

View File

@ -152,12 +152,12 @@ private void InitializeProposition(PropositionFrame proposition, Proposition pro
{
if (propositionData != null)
{
proposition.Initialize(propositionData);
proposition.SetProposition(propositionData);
}
else
{
Debug.Log("User has given no proposition", this);
// Handle the case when there is no proposition
proposition.SetNoProposition();
}
}