ProjectSquareBall/Assets/Scripts/Prep/LoadFromPrep.cs
2024-10-13 16:13:44 +05:30

51 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
public class LoadFromPrep : MonoBehaviour
{
public AudioSource source;
public Mover mover;
public List<float> allHits;
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));
allHits = PrepConnector.saveLoadData.hits;
mover.SetHits(allHits);
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;
Debug.Log("Loading file from " + url);
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();
}
}
}