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);
|
obj = new GameObject(objectReader);
|
||||||
break;
|
break;
|
||||||
case ClassIDType.Material:
|
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;
|
break;
|
||||||
case ClassIDType.Mesh:
|
case ClassIDType.Mesh:
|
||||||
obj = new Mesh(objectReader);
|
obj = new Mesh(objectReader);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace AssetStudio
|
namespace AssetStudio
|
||||||
{
|
{
|
||||||
@ -8,6 +9,8 @@ namespace AssetStudio
|
|||||||
public Vector2 m_Scale;
|
public Vector2 m_Scale;
|
||||||
public Vector2 m_Offset;
|
public Vector2 m_Offset;
|
||||||
|
|
||||||
|
public UnityTexEnv() { }
|
||||||
|
|
||||||
public UnityTexEnv(ObjectReader reader)
|
public UnityTexEnv(ObjectReader reader)
|
||||||
{
|
{
|
||||||
m_Texture = new PPtr<Texture>(reader);
|
m_Texture = new PPtr<Texture>(reader);
|
||||||
@ -23,6 +26,8 @@ namespace AssetStudio
|
|||||||
public KeyValuePair<string, float>[] m_Floats;
|
public KeyValuePair<string, float>[] m_Floats;
|
||||||
public KeyValuePair<string, Color>[] m_Colors;
|
public KeyValuePair<string, Color>[] m_Colors;
|
||||||
|
|
||||||
|
public UnityPropertySheet() { }
|
||||||
|
|
||||||
public UnityPropertySheet(ObjectReader reader)
|
public UnityPropertySheet(ObjectReader reader)
|
||||||
{
|
{
|
||||||
var version = reader.version;
|
var version = reader.version;
|
||||||
@ -65,6 +70,15 @@ namespace AssetStudio
|
|||||||
public PPtr<Shader> m_Shader;
|
public PPtr<Shader> m_Shader;
|
||||||
public UnityPropertySheet m_SavedProperties;
|
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)
|
public Material(ObjectReader reader) : base(reader)
|
||||||
{
|
{
|
||||||
m_Shader = new PPtr<Shader>(reader);
|
m_Shader = new PPtr<Shader>(reader);
|
||||||
|
Loading…
Reference in New Issue
Block a user