fixed GameObject in Unity 5.5

This commit is contained in:
Perfare
2017-01-16 02:20:30 +08:00
parent 08bf84146b
commit 2e84b08494
5 changed files with 56 additions and 26 deletions

View File

@ -8,8 +8,9 @@ namespace Unity_Studio
{
public class GameObject : TreeNode
{
public List<PPtr> m_Components = new List<PPtr>();
public PPtr m_Transform;
public PPtr m_Renderer;
public PPtr m_MeshRenderer;
public PPtr m_MeshFilter;
public PPtr m_SkinnedMeshRenderer;
public int m_Layer;
@ -39,25 +40,14 @@ namespace Unity_Studio
int m_Component_size = a_Stream.ReadInt32();
for (int j = 0; j < m_Component_size; j++)
{
int m_Component_type = a_Stream.ReadInt32();
switch (m_Component_type)
if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 5) || sourceFile.version[0] > 5)//5.5.0 and up
{
case 4:
m_Transform = sourceFile.ReadPPtr();
break;
case 23:
m_Renderer = sourceFile.ReadPPtr();
break;
case 33:
m_MeshFilter = sourceFile.ReadPPtr();
break;
case 137:
m_SkinnedMeshRenderer = sourceFile.ReadPPtr();
break;
default:
PPtr m_Component = sourceFile.ReadPPtr();
break;
m_Components.Add(sourceFile.ReadPPtr());
}
else
{
int first = a_Stream.ReadInt32();
m_Components.Add(sourceFile.ReadPPtr());
}
}

View File

@ -5,7 +5,7 @@ using System.Text;
namespace Unity_Studio
{
class Renderer
class MeshRenderer
{
public PPtr m_GameObject;
public bool m_Enabled;
@ -15,7 +15,7 @@ namespace Unity_Studio
public ushort m_LightmapIndexDynamic;
public PPtr[] m_Materials;
public Renderer(AssetPreloadData preloadData)
public MeshRenderer(AssetPreloadData preloadData)
{
var sourceFile = preloadData.sourceFile;
var a_Stream = preloadData.sourceFile.a_Stream;