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());
}
}