Files
bansonic_beta_main/Assets/scripts/UI/Panel_Music/MusicPlayer.cs
T
2026-07-20 22:19:25 +08:00

57 lines
1.5 KiB
C#

using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class MusicPlayer : MonoBehaviour
{
public Image Image_Cover;
public TMP_Text Text_Title;
public TMP_Text Text_Time;
public Button Button_Play;
public Button Button_Pause;
public Button Button_Last;
public Button Button_Next;
public Button Button_List;
public Slider Slider_Progress;
public Music_Data Music_Data => Music_Mgr.Singleton.Music_Cur;
public static AudioSource Music_Source
{
get
{
BgmPlaybackManager bgm = BgmPlaybackManager.Instance;
if (bgm != null && bgm.audioSource != null)
{
return bgm.audioSource;
}
Music_Mgr manager = Music_Mgr.Singleton;
return manager != null ? manager.AudioSource : null;
}
}
private void Start()
{
if (Music_Data != null)
{
Refresh(Music_Data);
}
}
public void Refresh(Music_Data data)
{
Image_Cover.sprite = data.Cover;
Text_Title.text = data.Name;
}
private System.Text.StringBuilder _sb = new System.Text.StringBuilder();
private void Update()
{
AudioSource source = Music_Source;
if (source != null && source.clip != null)
{
_sb.Clear();
_sb.Append(Music_Mgr.Get_Time_Cur(source)).Append("/").Append(Music_Mgr.Get_Time_Max(source.clip));
Text_Time.text = _sb.ToString();
}
}
}