public void DeSerialize(BinaryReader reader) { Index = reader.ReadInt32(); Vector3 localPosition = default(Vector3); localPosition.x = reader.ReadSingle(); localPosition.y = reader.ReadSingle(); localPosition.z = reader.ReadSingle(); LocalPosition = localPosition; Quaternion localRotation = default(Quaternion); localRotation.x = reader.ReadSingle(); localRotation.y = reader.ReadSingle(); localRotation.z = reader.ReadSingle(); localRotation.w = reader.ReadSingle(); LocalRotation = localRotation; Vector3 localScale = default(Vector3); localScale.x = reader.ReadSingle(); localScale.y = reader.ReadSingle(); localScale.z = reader.ReadSingle(); LocalScale = localScale; AssetIndex = reader.ReadInt32(); int renderInfoCount = reader.ReadInt32(); if (renderInfoCount > 0) { RendererInfos = new RendererInfo[renderInfoCount]; for (int iRender = 0; iRender < renderInfoCount; iRender++) { RendererInfo rendererInfo = new RendererInfo(); rendererInfo.DeSerialize(reader); RendererInfos[iRender] = rendererInfo; } } //正式不导出 只是为了测试 #if false Vector3 aabbCenter = default(Vector3); aabbCenter.x = reader.ReadSingle(); aabbCenter.y = reader.ReadSingle(); aabbCenter.z = reader.ReadSingle(); Vector3 aabbSize = default(Vector3); aabbSize.x = reader.ReadSingle(); aabbSize.y = reader.ReadSingle(); aabbSize.z = reader.ReadSingle(); _AABB = new Bounds(aabbCenter, aabbSize); #endif }