private YAMLNode GetExportOcclusionCullingData(IExportContainer container) { if (IsReadPVSData(container.Version)) { if (m_PVSData.Length == 0) { return(default(PPtr <OcclusionCullingData>).ExportYAML(container)); } else { SceneExportCollection scene = (SceneExportCollection)container.CurrentCollection; PPtr <OcclusionCullingData> occlusionData = PPtr <OcclusionCullingData> .CreateVirtualPointer(scene.OcclusionCullingData); return(occlusionData.ExportYAML(container)); } } else { if (Classes.OcclusionCullingData.IsReadStaticRenderers(container.Flags)) { return(OcclusionCullingData.ExportYAML(container)); } else { #warning TODO: OcclusionCullingData has to find all corresponding OcclusionCullingSettings and fill IDs itself OcclusionCullingData data = OcclusionCullingData.FindObject(container); if (data != null) { data.SetIDs(container, SceneGUID, StaticRenderers, Portals); } return(OcclusionCullingData.ExportYAML(container)); } } }
protected override YAMLMappingNode ExportYAMLRoot(IAssetsExporter exporter) { #warning TODO: values acording to read version (current 2017.3.0f3) YAMLMappingNode node = base.ExportYAMLRoot(exporter); node.AddSerializedVersion(GetSerializedVersion(exporter.Version)); node.Add("m_OcclusionBakeSettings", OcclusionBakeSettings.ExportYAML(exporter)); node.Add("m_SceneGUID", SceneGUID.ExportYAML(exporter)); node.Add("m_OcclusionCullingData", OcclusionCullingData.ExportYAML(exporter)); return(node); }
private YAMLNode GetExportOcclusionCullingData(IExportContainer container) { if (IsReadPVSData(container.Version)) { if (m_PVSData.Length == 0) { return(ExportPointer.EmptyPointer.ExportYAML(container)); } else { #warning HACK!!! AssetInfo dataAssetInfo = new AssetInfo(File, 0, ClassIDType.OcclusionCullingData); OcclusionCullingData ocData = new OcclusionCullingData(dataAssetInfo, container, m_PVSData, SceneGUID, StaticRenderers, Portals); SceneExportCollection scene = (SceneExportCollection)container.CurrentCollection; scene.OcclusionCullingData = ocData; var exPointer = container.CreateExportPointer(ocData); return(exPointer.ExportYAML(container)); } } else { #warning TODO: OcclusionCullingData has to find all corresponding OcclusionCullingSettings and fill IDs itself if (Classes.OcclusionCullingData.IsReadStaticRenderers(container.Flags)) { return(OcclusionCullingData.ExportYAML(container)); } else { OcclusionCullingData data = OcclusionCullingData.FindObject(container); if (data != null) { data.SetIDs(container, SceneGUID, StaticRenderers, Portals); } return(OcclusionCullingData.ExportYAML(container)); } } }