Example #1
0
        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);
        }
Example #2
0
 private OcclusionBakeSettings GetExportOcclusionBakeSettings(IExportContainer container)
 {
     if (IsReadOcclusionBakeSettings(container.Version, container.Flags))
     {
         return(OcclusionBakeSettings);
     }
     else
     {
         OcclusionBakeSettings settings = new OcclusionBakeSettings();
         settings.SmallestOccluder  = 5.0f;
         settings.SmallestHole      = 0.25f;
         settings.BackfaceThreshold = 100.0f;
         return(settings);
     }
 }
Example #3
0
 private OcclusionBakeSettings GetExportOcclusionBakeSettings(TransferInstructionFlags flags)
 {
     if (IsReadOcclusionBakeSettings(flags))
     {
         return(OcclusionBakeSettings);
     }
     else
     {
         OcclusionBakeSettings settings = new OcclusionBakeSettings();
         settings.SmallestOccluder  = 5.0f;
         settings.SmallestHole      = 0.25f;
         settings.BackfaceThreshold = 100.0f;
         return(settings);
     }
 }
        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);
                }
            }
        }
Example #5
0
        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> >();
                    }
                }
            }
        }