private static IHierarchyElement ReadHieraerchyElement(UnsafeReader reader) { switch (reader.ReadInt32()) { case 0: return(GameObjectHierarchy.Read(reader)); case 1: return(ComponentHierarchy.Read(reader)); case 2: return(PrefabInstanceHierarchy.Read(reader)); case 3: return(ScriptComponentHierarchy.Read(reader)); case 4: return(StrippedHierarchyElement.Read(reader)); case 5: return(TransformHierarchy.Read(reader)); default: throw new InvalidOperationException("Unknown type"); } }