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); } } }
public override void Read(AssetStream stream) { base.Read(stream); if (IsReadAnything(stream.Version)) { if (IsReadPVSData(stream.Version)) { m_PVSData = stream.ReadByteArray(); stream.AlignStream(AlignType.Align4); if (IsReadQueryMode(stream.Version)) { QueryMode = stream.ReadInt32(); } m_staticRenderers = stream.ReadArray <PPtr <Renderer> >(); if (IsReadPortals(stream.Version)) { m_portals = stream.ReadArray <PPtr <OcclusionPortal> >(); } if (IsReadOcclusionBakeSettings(stream.Flags)) { OcclusionBakeSettings.Read(stream); } } else { if (IsReadOcclusionBakeSettings(stream.Flags)) { OcclusionBakeSettings.Read(stream); } SceneGUID.Read(stream); OcclusionCullingData.Read(stream); if (IsReadStaticRenderers(stream.Version, stream.Flags)) { m_staticRenderers = stream.ReadArray <PPtr <Renderer> >(); m_portals = stream.ReadArray <PPtr <OcclusionPortal> >(); } } } }