Score screen

This commit is contained in:
Marine 2024-02-04 17:57:05 +01:00
parent 5a88e7c987
commit 7c36f1e60e

View File

@ -1,11 +1,14 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class ScoringPage : MonoBehaviour
{
[SerializeField] private List<PlayerSticker> playerStickers;
private Dictionary<string,int> scoreByUser = new Dictionary<string,int>();
private void Awake()
{
if(playerStickers == null || playerStickers.Count == 0)
@ -25,10 +28,38 @@ public void Initialize(Room _room)
gameObject.SetActive(true);
Player[] players = _room.GetOrderedPlayerList().ToArray();
for (int i = 0; i < players.Length; i++)
foreach (var player in players)
{
scoreByUser[player.id] = 0;
getPlayerScore(_room, player);
}
var sortedList = scoreByUser.ToList();
scoreByUser = scoreByUser.OrderByDescending(x => x.Value).ToDictionary(x => x.Key, x => x.Value);
List<string> playersId = scoreByUser.Keys.ToList();
for ( int i = 0; i < playersId.Count; i++)
{
Player p = _room.GetPlayerById(playersId[i]);
playerStickers[i].gameObject.SetActive(true);
playerStickers[i].Initialize(players[i].name, i);
playerStickers[i].Initialize( p.name , i);
}
}
public void getPlayerScore(Room _room, Player _player)
{
List<Proposition> propostitions = _room.GetPropositionsForPlayer(_player);
propostitions.ForEach(p =>
{
if(p.voters != null)
{
scoreByUser[_player.id] += p.voters.Count;
}
});
Debug.Log(_player.name);
Debug.Log(scoreByUser[_player.id]);
}
}