Files
BeatSaber/Assets/Script/SongCard.cs
T

26 lines
811 B
C#
Raw Normal View History

using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class SongCard : MonoBehaviour
{
[SerializeField] private TMP_Text titleText;
[SerializeField] private TMP_Text artistText;
[SerializeField] private TMP_Text durationText;
[SerializeField] private GameObject downloadedBadge;
[SerializeField] private Button button;
public void Setup(SongInfo song, bool isDownloaded, Action onClick)
{
titleText.text = song.title;
artistText.text = song.artist;
durationText.text = FormatDuration(song.duration);
downloadedBadge.SetActive(isDownloaded);
button.onClick.AddListener(() => onClick?.Invoke());
}
private static string FormatDuration(int seconds)
=> $"{seconds / 60}:{seconds % 60:D2}";
}