public override void Read(AssetReader reader)
        {
            base.Read(reader);

            if (HasReadPVSData(reader.Version))
            {
                PVSData = reader.ReadByteArray();
                reader.AlignStream();
            }
            if (HasQueryMode(reader.Version))
            {
                QueryMode = reader.ReadInt32();
            }

            if (HasOcclusionBakeSettings(reader.Version, reader.Flags))
            {
                if (IsOcclusionBakeSettingsFirst(reader.Version))
                {
                    OcclusionBakeSettings.Read(reader);
                }
            }

            if (HasSceneGUID(reader.Version))
            {
                SceneGUID.Read(reader);
                OcclusionCullingData.Read(reader);
            }
            if (HasStaticRenderers(reader.Version, reader.Flags))
            {
                StaticRenderers = reader.ReadAssetArray <PPtr <Renderer> >();
            }
            if (HasPortals(reader.Version, reader.Flags))
            {
                Portals = reader.ReadAssetArray <PPtr <OcclusionPortal> >();
            }
            if (HasViewCellSize(reader.Version, reader.Flags))
            {
                ViewCellSize = reader.ReadSingle();
            }
            if (HasOcclusionBakeSettings(reader.Version, reader.Flags))
            {
                if (!IsOcclusionBakeSettingsFirst(reader.Version))
                {
                    OcclusionBakeSettings.Read(reader);
                }
            }
        }
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            if (IsReadPVSData(reader.Version))
            {
                m_PVSData = reader.ReadByteArray();
                reader.AlignStream(AlignType.Align4);
            }
            if (IsReadQueryMode(reader.Version))
            {
                QueryMode = reader.ReadInt32();
            }

            if (IsReadOcclusionBakeSettings(reader.Version, reader.Flags))
            {
                if (IsReadOcclusionBakeSettingsFirst(reader.Version))
                {
                    OcclusionBakeSettings.Read(reader);
                }
            }

            if (IsReadSceneGUID(reader.Version))
            {
                SceneGUID.Read(reader);
                OcclusionCullingData.Read(reader);
            }
            if (IsReadStaticRenderers(reader.Version, reader.Flags))
            {
                m_staticRenderers = reader.ReadArray <PPtr <Renderer> >();
            }
            if (IsReadPortals(reader.Version, reader.Flags))
            {
                m_portals = reader.ReadArray <PPtr <OcclusionPortal> >();
            }

            if (IsReadOcclusionBakeSettings(reader.Version, reader.Flags))
            {
                if (!IsReadOcclusionBakeSettingsFirst(reader.Version))
                {
                    OcclusionBakeSettings.Read(reader);
                }
            }
        }