using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography;
using Cysharp.Threading.Tasks;
using Gameplay;
using PhxhSDK;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.Serialization;
using Object = UnityEngine.Object;
#if UNITY_EDITOR
using UnityEditor;
#endif
///
/// 记录所有场景/prefab后处理的数据
///
[CreateAssetMenu(menuName = "Object后处理数据")]
public class PostProcessData : ScriptableObject
{
[Serializable]
private class PostProcessPathData
{
public string originPath;
public string postProcessPath;
}
[Serializable]
private class ObjectHashData
{
public Object target;
public string hashCode;
}
private const string PATH = "Assets/Scenes/ObjectPostProcessData.asset";
private static PostProcessData _instance;
public static PostProcessData Instance
{
get
{
if (_instance == null)
{
_instance = AssetManager.Instance.LoadAsset(PATH);
}
return _instance;
}
}
[ReadOnly]
[SerializeField]
private List _allPostProcessPathData = new();
[ReadOnly]
[SerializeField]
private List _allObjectHashCode = new();
private Dictionary _postProcessPathDic = new();
private Dictionary