Files
Infratest/Assets/Code/Example/Race/UI/PlayerScores.cs
T
2026-02-26 11:57:51 +03:00

40 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using Code.Infrastructure.UI;
using PrimeTween;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Code.Example.Race.UI
{
public class PlayerScores : UIPanel
{
[SerializeField] private Image image;
[SerializeField] private TMP_Text scoreText;
[SerializeField] private Color shownColor;
[SerializeField] private Color hiddenColor;
public void SetText(List<RaceData> scores)
{
scoreText.text = "";
foreach (var score in scores)
{
var t = TimeSpan.FromSeconds(score.raceTimeSeconds);
scoreText.text += $@"{score.place} место за {t:mm\:ss\:fff}\n";
}
}
public override void Open(Action callback = null)
{
Tween.Color(image,shownColor, 1f);
Tween.Color(scoreText,shownColor, 1f).OnComplete( () => callback?.Invoke());
}
public override void Close(Action callback = null)
{
Tween.Color(image,hiddenColor, 1f);
Tween.Color(scoreText,hiddenColor, 1f).OnComplete( () => callback?.Invoke());
}
}
}