using UnityEditor.Build; using UnityEditor; using System.IO; using UnityEditor.Build.Reporting; using UnityEngine; namespace OCES.Editor { #if false public class CopyWavesForMixing : IPreprocessBuildWithReport, IPostprocessBuildWithReport { public int callbackOrder { get { return 0; } } static string _audioStreamingPath; public void OnPreprocessBuild(BuildReport report) { const string guid = "de80878c933394e2da0966a1466fd793"; Audio.AudioExtendSettings audioSettings = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(guid)); string audioPath = Path.Combine("Assets", "Resources",audioSettings.audioResourcePath); DirectoryInfo directoryInfo = new(audioPath); _audioStreamingPath = Path.Combine(Application.streamingAssetsPath, "Audios"); if (Directory.Exists(_audioStreamingPath)) Directory.Delete(_audioStreamingPath, true); Directory.CreateDirectory(_audioStreamingPath); foreach (FileInfo file in directoryInfo.GetFiles()) { if (file.Extension is ".wav" or ".mp3") { file.CopyTo(Path.Combine(_audioStreamingPath, file.Name), true); } } Debug.Log(_audioStreamingPath); } public void OnPostprocessBuild(BuildReport report) { if (Directory.Exists(_audioStreamingPath)) Directory.Delete(_audioStreamingPath, true); } } #endif }