Singularity/Library/PackageCache/com.unity.collab-proxy@2.0.3/Editor/PlasticSCM/AssetsUtils/RefreshAsset.cs
2024-05-06 11:45:45 -07:00

43 lines
1.2 KiB
C#

using UnityEditor.PackageManager;
using Unity.PlasticSCM.Editor.AssetUtils.Processor;
namespace Unity.PlasticSCM.Editor.AssetUtils
{
internal static class RefreshAsset
{
internal static void BeforeLongAssetOperation()
{
UnityEditor.AssetDatabase.DisallowAutoRefresh();
}
internal static void AfterLongAssetOperation()
{
UnityEditor.AssetDatabase.AllowAutoRefresh();
UnityAssetDatabase();
// Client is an API to interact with package manager
// Client.Resolve() will resolve any pending packages added or removed from the project.
// https://docs.unity3d.com/ScriptReference/PackageManager.Client.html
Client.Resolve();
}
internal static void UnityAssetDatabase()
{
UnityEditor.AssetDatabase.Refresh(
UnityEditor.ImportAssetOptions.Default);
UnityEditor.VersionControl.Provider.ClearCache();
AssetPostprocessor.SetIsRepaintInspectorNeededAfterAssetDatabaseRefresh();
}
internal static void VersionControlCache()
{
UnityEditor.VersionControl.Provider.ClearCache();
RepaintInspector.All();
}
}
}