上传YomovSDK
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using Newtonsoft.Json.UnityConverters.Helpers;
|
||||
using UnityEngine.AddressableAssets;
|
||||
using UnityEngine.Scripting;
|
||||
|
||||
[assembly: Preserve]
|
||||
|
||||
namespace Newtonsoft.Json.UnityConverters.Addressables
|
||||
{
|
||||
public class AssetReferenceConverter : JsonConverter
|
||||
{
|
||||
public override bool CanConvert(Type objectType)
|
||||
{
|
||||
return objectType == typeof(AssetReference) || (objectType.IsGenericType && objectType.GetGenericTypeDefinition() == typeof(AssetReferenceT<>));
|
||||
}
|
||||
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||
{
|
||||
if (reader.TokenType == JsonToken.Null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (reader.TokenType == JsonToken.String && reader.Value is string stringValue)
|
||||
{
|
||||
if (objectType.IsGenericType && objectType.GetGenericTypeDefinition() == typeof(AssetReferenceT<>))
|
||||
{
|
||||
return Activator.CreateInstance(objectType, stringValue);
|
||||
} else
|
||||
{
|
||||
return new AssetReference(stringValue);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw reader.CreateSerializationException($"Expected string when reading UnityEngine.Addressables.AssetReference type, got '{reader.TokenType}' <{reader.Value}>.");
|
||||
}
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
if (value is null || string.IsNullOrEmpty(((AssetReference)value).AssetGUID))
|
||||
{
|
||||
writer.WriteNull();
|
||||
}
|
||||
else
|
||||
{
|
||||
writer.WriteValue(((AssetReference)value).AssetGUID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 599e3e9b08862c44db7fb4ba60611b38
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "Newtonsoft.Json.UnityConverters.Addressables",
|
||||
"references": [
|
||||
"Unity.Addressables",
|
||||
"Newtonsoft.Json.UnityConverters"
|
||||
],
|
||||
"optionalUnityReferences": [],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [
|
||||
"HAVE_MODULE_ADDRESSABLES"
|
||||
],
|
||||
"versionDefines": [
|
||||
{
|
||||
"name": "com.unity.addressables",
|
||||
"expression": "",
|
||||
"define": "HAVE_MODULE_ADDRESSABLES"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 54b32bbb6d015da4881a30377f540d42
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user