40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Code.Infrastructure.UI;
|
|
using DG.Tweening;
|
|
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)
|
|
{
|
|
image.DOColor(shownColor, 1f);
|
|
scoreText.DOColor(shownColor, 1f).onComplete = () => callback?.Invoke();
|
|
}
|
|
|
|
public override void Close(Action callback = null)
|
|
{
|
|
image.DOColor(hiddenColor, 1f);
|
|
scoreText.DOColor(hiddenColor, 1f).onComplete = () => callback?.Invoke();
|
|
}
|
|
}
|
|
|
|
} |