56 lines
1.5 KiB
C#
56 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
|
|
public class Music_Mgr : Singleton_Mono<Music_Mgr>
|
|
{
|
|
|
|
public static string Get_Time_Max(AudioClip clip)
|
|
{
|
|
|
|
return Get_Time(clip == null ? 0 : (int)clip.length);
|
|
}
|
|
public static string Get_Time_Cur(AudioSource aus)
|
|
{
|
|
return Get_Time((int)aus.time);
|
|
}
|
|
public static string Get_Time(int time)
|
|
{
|
|
var currentHour = time / 3600;
|
|
var currentMinute = (time - currentHour * 3600) / 60;
|
|
var currentSecond = time - currentHour * 3600 - currentMinute * 60;
|
|
|
|
return string.Format("{0:D2}:{1:D2}:{2:D2} ",
|
|
currentHour, currentMinute, currentSecond);
|
|
}
|
|
public static float Get_Time_Cur_Prv(AudioSource aus)
|
|
{
|
|
return aus.time / aus.clip.length;
|
|
}
|
|
|
|
public List<Music_Data> Music_Data_List;
|
|
public AudioSource AudioSource;
|
|
public Music_Data Music_Cur;
|
|
protected override void In_Init()
|
|
{
|
|
if (TryGetComponent(out AudioSource) == false)
|
|
{
|
|
AudioSource = gameObject.AddComponent<AudioSource>();
|
|
}
|
|
Music_Data_List = Resources.LoadAll<Music_Data>("Data/Music").ToList();
|
|
if (Music_Data_List.Count > 0)
|
|
{
|
|
Play(Music_Data_List[0]);
|
|
}
|
|
}
|
|
public void Play(Music_Data data)
|
|
{
|
|
Music_Cur = data;
|
|
AudioSource.clip = data.Clip;
|
|
AudioSource.Play();
|
|
}
|
|
protected override bool Is_Singleton_Auto()
|
|
{
|
|
return true;
|
|
}
|
|
} |