mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-05-25 05:40:21 -04:00
Add Material loading via typetree
This commit is contained in:
parent
c37e2e65b7
commit
bc92dfb77c
@ -574,7 +574,9 @@ namespace AssetStudio
|
||||
obj = new GameObject(objectReader);
|
||||
break;
|
||||
case ClassIDType.Material:
|
||||
obj = new Material(objectReader);
|
||||
obj = objectReader.serializedType?.m_Type != null && LoadingViaTypeTreeEnabled
|
||||
? new Material(objectReader, TypeTreeHelper.ReadTypeByteArray(objectReader.serializedType.m_Type, objectReader), jsonOptions)
|
||||
: new Material(objectReader);
|
||||
break;
|
||||
case ClassIDType.Mesh:
|
||||
obj = new Mesh(objectReader);
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace AssetStudio
|
||||
{
|
||||
@ -8,6 +9,8 @@ namespace AssetStudio
|
||||
public Vector2 m_Scale;
|
||||
public Vector2 m_Offset;
|
||||
|
||||
public UnityTexEnv() { }
|
||||
|
||||
public UnityTexEnv(ObjectReader reader)
|
||||
{
|
||||
m_Texture = new PPtr<Texture>(reader);
|
||||
@ -23,6 +26,8 @@ namespace AssetStudio
|
||||
public KeyValuePair<string, float>[] m_Floats;
|
||||
public KeyValuePair<string, Color>[] m_Colors;
|
||||
|
||||
public UnityPropertySheet() { }
|
||||
|
||||
public UnityPropertySheet(ObjectReader reader)
|
||||
{
|
||||
var version = reader.version;
|
||||
@ -65,6 +70,15 @@ namespace AssetStudio
|
||||
public PPtr<Shader> m_Shader;
|
||||
public UnityPropertySheet m_SavedProperties;
|
||||
|
||||
public Material() { }
|
||||
|
||||
public Material(ObjectReader reader, byte[] type, JsonSerializerOptions jsonOptions) : base(reader)
|
||||
{
|
||||
var parsedMaterial = JsonSerializer.Deserialize<Material>(type, jsonOptions);
|
||||
m_Shader = parsedMaterial.m_Shader;
|
||||
m_SavedProperties = parsedMaterial.m_SavedProperties;
|
||||
}
|
||||
|
||||
public Material(ObjectReader reader) : base(reader)
|
||||
{
|
||||
m_Shader = new PPtr<Shader>(reader);
|
||||
|
Loading…
Reference in New Issue
Block a user