ProjectSquareBall/Assets/Scripts/Prep/LoadFromPrep.cs
2024-09-04 18:39:41 +05:30

47 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
public class LoadFromPrep : MonoBehaviour
{
public AudioSource source;
void Awake(){
if(PrepConnector.saveLoadData == null){
if(PlayerPrefs.HasKey("saveData")){
PrepConnector.saveLoadData = JsonUtility.FromJson<SaveLoadData>(PlayerPrefs.GetString("saveData"));
}
}
}
void Start(){
if(PrepConnector.saveLoadData != null){
StartCoroutine(LoadAudioCoroutine(PrepConnector.saveLoadData.musicFile));
PlayerPrefs.SetString("saveData", JsonUtility.ToJson(PrepConnector.saveLoadData));
PlayerPrefs.Save();
}
}
private IEnumerator LoadAudioCoroutine(string fileName)
{
string filePath = Path.Combine(Application.persistentDataPath, fileName);
string url = "file://" + filePath;
UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(url, AudioType.WAV); // Use AudioType.MPEG for MP3 files
yield return www.SendWebRequest();
if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
{
Debug.LogError(www.error);
}
else
{
AudioClip clip = DownloadHandlerAudioClip.GetContent(www);
source.clip = clip;
source.Play();
}
}
}