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 IEnumerable <Object> FetchDependencies(ISerializedFile file, bool isLog = false)
        {
            foreach (Object @object in base.FetchDependencies(file, isLog))
            {
                yield return(@object);
            }

            yield return(OcclusionCullingData.FetchDependency(file, isLog, ToLogString, "m_OcclusionCullingData"));

            foreach (PPtr <Renderer> staticRenderer in StaticRenderers)
            {
                yield return(staticRenderer.FetchDependency(file, isLog, ToLogString, "m_StaticRenderers"));
            }
            foreach (PPtr <OcclusionPortal> portal in Portals)
            {
                yield return(portal.FetchDependency(file, isLog, ToLogString, "m_Portals"));
            }
        }
        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);
                }
            }
        }