Add support for parsing MeshRenderer via typetree

This commit is contained in:
VaDiM
2026-06-27 04:29:06 +03:00
parent e4b6b17d39
commit 9a6ceeb144
2 changed files with 18 additions and 2 deletions
+3 -1
View File
@@ -712,7 +712,9 @@ namespace AssetStudio
obj = new MeshFilter(objectReader);
break;
case ClassIDType.MeshRenderer:
obj = new MeshRenderer(objectReader);
obj = parseByTypeTree
? new MeshRenderer(objectReader, TypeTreeHelper.ReadTypeByteArray(objectReader.serializedType.m_Type, objectReader), jsonOptions)
: new MeshRenderer(objectReader);
break;
case ClassIDType.MonoBehaviour:
obj = new MonoBehaviour(objectReader);
+15 -1
View File
@@ -1,7 +1,21 @@
namespace AssetStudio
using System.Text.Json;
namespace AssetStudio
{
public sealed class MeshRenderer : Renderer
{
public MeshRenderer() { }
public MeshRenderer(ObjectReader reader, byte[] type, JsonSerializerOptions jsonOptions)
{
this.CopyObjectDataFromReader(reader);
var parsedAsset = JsonSerializer.Deserialize<MeshRenderer>(type, jsonOptions);
m_GameObject = parsedAsset.m_GameObject;
m_Materials = parsedAsset.m_Materials;
m_StaticBatchInfo = parsedAsset.m_StaticBatchInfo;
m_SubsetIndices = parsedAsset.m_SubsetIndices;
}
public MeshRenderer(ObjectReader reader) : base(reader)
{