using UnityEditor;
using UnityEngine;
namespace Game.Editor
{
public class CommonAssetsPostprocess:AssetPostprocessor
{
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
foreach (var asset in importedAssets)
{
var importer = AssetImporter.GetAtPath(asset);
if (importer is TextureImporter textureImporter)
{
var path = asset.ToLower();
if (path.Contains("uisprite/") || path.Contains("uiimage/"))
{
if (textureImporter.textureType != TextureImporterType.Sprite)
{
textureImporter.textureType = TextureImporterType.Sprite;
textureImporter.SaveAndReimport();
}
}
}
//音频处理
//1.加载方式使用Compressed Included Memory(音频在内存中以压缩格式存储,在播放时会解压缩)
//2.勾选Force To Mono,强制使用单声道音频
//3.将Quality调整为1
if (importer is AudioImporter audioClip)
{
var path = asset.ToLower();
if (path.Contains("audio/"))
{
//强制使用单声道音频
audioClip.forceToMono = true;
var isOverride = audioClip.ContainsSampleSettingsOverride("WebGL");
if (!isOverride)
{
var data = audioClip.GetOverrideSampleSettings("WebGL");
data.loadType = AudioClipLoadType.CompressedInMemory;
data.quality = 0.01f;
audioClip.SetOverrideSampleSettings("WebGL", data);
}
}
}
}
}
}
}