update libs

This commit is contained in:
Kirill Chikalin
2025-02-13 17:48:12 +03:00
parent e17e7c2786
commit 275dc598c7
816 changed files with 22479 additions and 10792 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: eb61a60f2ff91a448a7808ef2a25f871
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,87 @@
using AssetStoreTools.Previews.Data;
using AssetStoreTools.Utility;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace AssetStoreTools.Previews.Services
{
internal class CachingService : ICachingService
{
public void CacheMetadata(IEnumerable<PreviewMetadata> previews)
{
var updatedDatabase = UpdatePreviewDatabase(previews);
var serializerSettings = new JsonSerializerSettings()
{
ContractResolver = PreviewDatabaseContractResolver.Instance,
Converters = new List<JsonConverter>() { new StringEnumConverter() },
Formatting = Formatting.Indented
};
CacheUtil.CreateFileInTempCache(Constants.Previews.PreviewDatabaseFile, JsonConvert.SerializeObject(updatedDatabase, serializerSettings), true);
}
public bool GetCachedMetadata(out PreviewDatabase previewDatabase)
{
previewDatabase = null;
if (!CacheUtil.GetFileFromTempCache(Constants.Previews.PreviewDatabaseFile, out string filePath))
return false;
try
{
var serializerSettings = new JsonSerializerSettings()
{
ContractResolver = PreviewDatabaseContractResolver.Instance,
Converters = new List<JsonConverter>() { new StringEnumConverter() }
};
previewDatabase = JsonConvert.DeserializeObject<PreviewDatabase>(File.ReadAllText(filePath, Encoding.UTF8), serializerSettings);
return true;
}
catch
{
return false;
}
}
private PreviewDatabase UpdatePreviewDatabase(IEnumerable<PreviewMetadata> previews)
{
PreviewDatabase database;
if (!GetCachedMetadata(out database))
database = new PreviewDatabase();
// Delete missing previews
for (int i = database.Previews.Count - 1; i >= 0; i--)
{
if (database.Previews[i].Exists())
continue;
database.Previews.RemoveAt(i);
}
// Append new previews & Replace existing previews
foreach (var preview in previews)
{
var matchingPreviews = database.Previews.Where(x => x.Guid == preview.Guid).ToList();
foreach (var matchingPreview in matchingPreviews)
{
// Delete previously generated preview of the same type
if (matchingPreview.Type == preview.Type)
database.Previews.Remove(matchingPreview);
// Delete previously generated preview of a different type if the path matches
else if (matchingPreview.Path.Equals(preview.Path))
database.Previews.Remove(matchingPreview);
}
database.Previews.Add(preview);
}
database.Previews = database.Previews.OrderBy(x => x.Guid).ThenBy(x => x.Type).ToList();
return database;
}
}
}

View File

@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: e0b6cf909c8798b4590744959571a21f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115
packageName: Asset Store Publishing Tools
packageVersion: 12.0.1
assetPath: Packages/com.unity.asset-store-tools/Editor/Previews/Scripts/Services/Caching/CachingService.cs
uploadId: 724584

View File

@@ -0,0 +1,11 @@
using AssetStoreTools.Previews.Data;
using System.Collections.Generic;
namespace AssetStoreTools.Previews.Services
{
internal interface ICachingService : IPreviewService
{
void CacheMetadata(IEnumerable<PreviewMetadata> previews);
bool GetCachedMetadata(out PreviewDatabase previewDatabase);
}
}

View File

@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: eeaeae010299dcd489adb00dbf51b274
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115
packageName: Asset Store Publishing Tools
packageVersion: 12.0.1
assetPath: Packages/com.unity.asset-store-tools/Editor/Previews/Scripts/Services/Caching/ICachingService.cs
uploadId: 724584

View File

@@ -0,0 +1,4 @@
namespace AssetStoreTools.Previews.Services
{
public interface IPreviewService { }
}

View File

@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 8c2761fe05638644d8e3a265865beef8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115
packageName: Asset Store Publishing Tools
packageVersion: 12.0.1
assetPath: Packages/com.unity.asset-store-tools/Editor/Previews/Scripts/Services/IPreviewService.cs
uploadId: 724584

View File

@@ -0,0 +1,17 @@
using AssetStoreTools.Utility;
namespace AssetStoreTools.Previews.Services
{
internal class PreviewServiceProvider : ServiceProvider<IPreviewService>
{
public static PreviewServiceProvider Instance => _instance ?? (_instance = new PreviewServiceProvider());
private static PreviewServiceProvider _instance;
private PreviewServiceProvider() { }
protected override void RegisterServices()
{
Register<ICachingService, CachingService>();
}
}
}

View File

@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: a19bf5a4e3e441047bbc1b894e2a1149
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115
packageName: Asset Store Publishing Tools
packageVersion: 12.0.1
assetPath: Packages/com.unity.asset-store-tools/Editor/Previews/Scripts/Services/PreviewServiceProvider.cs
uploadId: 724584