ProjectDDD/Assets/_Datas/02.Scripts/AssetPostprocessor/AssetPostProcessor.cs
2025-06-17 20:47:57 +09:00

77 lines
2.0 KiB (Stored with Git LFS)
C#

using UnityEditor;
using UnityEngine;
namespace DDD
{
public class AssetPostProcessor : AssetPostprocessor
{
private void OnPreprocessTexture()
{
var importer = assetImporter as TextureImporter;
var upperPath = importer.assetPath.ToUpper();
// if (upperPath.Contains("ASSETS/RAW/Units/"))
// {
// AssetPostprocessorModel.OnPreprocessTexture(importer);
// }
if (upperPath.Contains("ASSETS/_DATAS/RAW/SPRITES/"))
{
AssetPostprocessorSprite.OnPreprocessTexture(importer);
}
}
public static void OnPostprocessAllAssets(string[] importedAssets, string[] deleteAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
foreach (var path in deleteAssets)
{
PostRemove(path);
}
var index = 0;
foreach (var path in movedFromAssetPaths)
{
PostRemove(path, movedAssets[index]);
++index;
}
foreach (var path in movedAssets)
{
PostAdd(path);
}
foreach (var path in importedAssets)
{
PostAdd(path);
}
AssetPostprocessorSprite.BuildTarget();
AssetPostprocessorSprite.BuildTarget();
}
private static void PostRemove(string path, string movePath = "")
{
try
{
AssetPostprocessorSprite.OnRemove(path, movePath);
}
catch (System.Exception e)
{
Debug.LogError("Can't remove " + path + "\n" + e);
}
}
private static void PostAdd(string path)
{
try
{
AssetPostprocessorSprite.OnAdd(path);
}
catch (System.Exception e)
{
Debug.LogError("Can't import " + path + "\n" + e);
}
}
}
}