Skip to content

Commit db4eb30

Browse files
committed
Fix PPtrConverter (aelurum#69)
1 parent 9f918d0 commit db4eb30

File tree

2 files changed

+5
-12
lines changed

2 files changed

+5
-12
lines changed

AssetStudio/AssetsManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,7 @@ private void ReadAssets()
526526
Progress.Reset();
527527
foreach (var assetsFile in assetsFileList)
528528
{
529-
JsonConverterHelper.PPtrConverter.AssetsFile = assetsFile;
529+
JsonConverterHelper.AssetsFile = assetsFile;
530530
foreach (var objectInfo in assetsFile.m_Objects)
531531
{
532532
var objectReader = new ObjectReader(assetsFile.reader, assetsFile, objectInfo);

AssetStudio/JsonConverterHelpers/PPtrConverter.cs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ namespace AssetStudio
66
{
77
public static partial class JsonConverterHelper
88
{
9+
public static SerializedFile AssetsFile { get; set; }
10+
911
public class PPtrConverter : JsonConverterFactory
1012
{
11-
public static SerializedFile AssetsFile;
12-
1313
public override bool CanConvert(Type typeToConvert)
1414
{
1515
if (!typeToConvert.IsGenericType)
@@ -22,24 +22,17 @@ public override bool CanConvert(Type typeToConvert)
2222
public override JsonConverter CreateConverter(Type type, JsonSerializerOptions options)
2323
{
2424
var elementType = type.GetGenericArguments()[0];
25-
var converter = (JsonConverter)Activator.CreateInstance(typeof(PPtrConverter<>).MakeGenericType(elementType), AssetsFile);
25+
var converter = (JsonConverter)Activator.CreateInstance(typeof(PPtrConverter<>).MakeGenericType(elementType));
2626
return converter;
2727
}
2828
}
2929

3030
private class PPtrConverter<T> : JsonConverter<PPtr<T>> where T : Object
3131
{
32-
private readonly SerializedFile _assetsFile;
33-
34-
public PPtrConverter(SerializedFile assetsFile)
35-
{
36-
_assetsFile = assetsFile;
37-
}
38-
3932
public override PPtr<T> Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
4033
{
4134
var pptrObj = JsonSerializer.Deserialize<PPtr<T>>(ref reader, new JsonSerializerOptions { IncludeFields = true });
42-
pptrObj.AssetsFile = _assetsFile;
35+
pptrObj.AssetsFile = AssetsFile;
4336
return pptrObj;
4437
}
4538

0 commit comments

Comments
 (0)