Exemple #1
0
        public override void Read(EndianStream stream)
        {
            base.Read(stream);

            m_scenes = stream.ReadStringArray();
            if (IsReadPreloadPlugin)
            {
                m_preloadedPlugins = stream.ReadStringArray();
            }

            if (IsReadEnabledVRDevices)
            {
                m_enabledVRDevices = stream.ReadStringArray();
                if (IsReadBuildTags)
                {
                    m_buildTags = stream.ReadStringArray();
                    BuildGUID.Read(stream);
                }
            }

            // bool flags
            HasPROVersion      = stream.ReadBoolean();
            IsNoWatermarkBuild = stream.ReadBoolean();
            IsPrototypingBuild = stream.ReadBoolean();
            IsEducationalBuild = stream.ReadBoolean();
            if (IsReadBoolFlags)
            {
                IsEmbedded          = stream.ReadBoolean();
                HasPublishingRights = stream.ReadBoolean();
                HasShadows          = stream.ReadBoolean();
                HasSoftShadows      = stream.ReadBoolean();
            }
            if (IsReadMoreBoolFlags)
            {
                HasLocalLightShadows  = stream.ReadBoolean();
                HasAdvancedVersion    = stream.ReadBoolean();
                EnableDynamicBatching = stream.ReadBoolean();
                IsDebugBuild          = stream.ReadBoolean();
            }
            if (IsReadEvenMoreBoolFlags)
            {
                UsesOnMouseEvents   = stream.ReadBoolean();
                HasClusterRendering = stream.ReadBoolean();
                stream.AlignStream(AlignType.Align4);
            }

            BSVersion = stream.ReadStringAligned();
            AuthToken = stream.ReadStringAligned();

            m_runtimeClassHashes.Read(stream);
            m_scriptHashes.Read(stream);
            m_graphicsAPIs = stream.ReadInt32Array();
        }
        public override void Read(AssetStream stream)
        {
            base.Read(stream);

            m_scenes = stream.ReadStringArray();
            if (IsReadPreloadPlugin(stream.Version))
            {
                m_preloadedPlugins = stream.ReadStringArray();
            }

            if (IsReadEnabledVRDevices(stream.Version))
            {
                m_enabledVRDevices = stream.ReadStringArray();
            }
            if (IsReadBuildTags(stream.Version))
            {
                m_buildTags = stream.ReadStringArray();
                BuildGUID.Read(stream);
            }

            if (IsReadHasRenderTexture(stream.Version))
            {
                HasRenderTexture = stream.ReadBoolean();
            }
            HasPROVersion = stream.ReadBoolean();
            if (IsReadIsNoWatermarkBuild(stream.Version))
            {
                IsNoWatermarkBuild = stream.ReadBoolean();
                IsPrototypingBuild = stream.ReadBoolean();
            }
            if (IsReadIsEducationalBuild(stream.Version))
            {
                IsEducationalBuild = stream.ReadBoolean();
            }
            if (IsReadIsEmbedded(stream.Version))
            {
                IsEmbedded = stream.ReadBoolean();
            }
            HasPublishingRights = stream.ReadBoolean();
            if (IsReadHasShadows(stream.Version))
            {
                HasShadows = stream.ReadBoolean();
            }
            if (IsReadHasSoftShadows(stream.Version))
            {
                HasSoftShadows       = stream.ReadBoolean();
                HasLocalLightShadows = stream.ReadBoolean();
            }
            if (IsReadHasAdvancedVersion(stream.Version))
            {
                HasAdvancedVersion    = stream.ReadBoolean();
                EnableDynamicBatching = stream.ReadBoolean();
                IsDebugBuild          = stream.ReadBoolean();
            }
            if (IsReadUsesOnMouseEvents(stream.Version))
            {
                UsesOnMouseEvents = stream.ReadBoolean();
            }
            if (IsReadEnableMultipleDisplays(stream.Version))
            {
                EnableMultipleDisplays = stream.ReadBoolean();
            }
            if (IsReadHasOculusPlugin(stream.Version))
            {
                HasOculusPlugin = stream.ReadBoolean();
            }
            if (IsReadHasClusterRendering(stream.Version))
            {
                HasClusterRendering = stream.ReadBoolean();
            }
            if (IsAlignBools(stream.Version))
            {
                stream.AlignStream(AlignType.Align4);
            }

            if (IsReadBSVersion(stream.Version))
            {
                BSVersion = stream.ReadStringAligned();
            }
            if (IsReadAuthToken(stream.Version))
            {
                AuthToken = stream.ReadStringAligned();
            }

            if (IsReadRuntimeClassHashes(stream.Version))
            {
                if (IsRuntimeClassHashesUInt32(stream.Version))
                {
                    m_runtimeClassHashesUInt32 = new Dictionary <int, uint>();
                    m_runtimeClassHashesUInt32.Read(stream);
                }
                else
                {
                    m_runtimeClassHashes.Read(stream);
                }
            }
            if (IsReadScriptHashes(stream.Version))
            {
                m_scriptHashes.Read(stream);
            }
            if (IsReadGraphicsAPIs(stream.Version))
            {
                m_graphicsAPIs = stream.ReadInt32Array();
            }
        }
Exemple #3
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            Scenes = reader.ReadStringArray();
            if (HasPreloadPlugin(reader.Version))
            {
                PreloadedPlugins = reader.ReadStringArray();
            }

            if (HasEnabledVRDevices(reader.Version))
            {
                EnabledVRDevices = reader.ReadStringArray();
            }
            if (HasBuildTags(reader.Version))
            {
                BuildTags = reader.ReadStringArray();
                BuildGUID.Read(reader);
            }

            if (HasHasRenderTexture(reader.Version))
            {
                HasRenderTexture = reader.ReadBoolean();
            }
            HasPROVersion = reader.ReadBoolean();
            if (HasIsNoWatermarkBuild(reader.Version))
            {
                IsNoWatermarkBuild = reader.ReadBoolean();
                IsPrototypingBuild = reader.ReadBoolean();
            }
            if (HasIsEducationalBuild(reader.Version))
            {
                IsEducationalBuild = reader.ReadBoolean();
            }
            if (HasIsEmbedded(reader.Version))
            {
                IsEmbedded = reader.ReadBoolean();
            }
            HasPublishingRights = reader.ReadBoolean();
            if (HasHasShadows(reader.Version))
            {
                HasShadows = reader.ReadBoolean();
            }
            if (HasHasSoftShadows(reader.Version))
            {
                HasSoftShadows       = reader.ReadBoolean();
                HasLocalLightShadows = reader.ReadBoolean();
            }
            if (HasHasAdvancedVersion(reader.Version))
            {
                HasAdvancedVersion    = reader.ReadBoolean();
                EnableDynamicBatching = reader.ReadBoolean();
                IsDebugBuild          = reader.ReadBoolean();
            }
            if (HasUsesOnMouseEvents(reader.Version))
            {
                UsesOnMouseEvents = reader.ReadBoolean();
            }
            if (HasEnableMultipleDisplays(reader.Version))
            {
                EnableMultipleDisplays = reader.ReadBoolean();
            }
            if (HasHasOculusPlugin(reader.Version))
            {
                HasOculusPlugin = reader.ReadBoolean();
            }
            if (HasHasClusterRendering(reader.Version))
            {
                HasClusterRendering = reader.ReadBoolean();
            }
            if (IsAlignBools(reader.Version))
            {
                reader.AlignStream();
            }

            if (HasVersion(reader.Version))
            {
                Version = reader.ReadString();
            }
            if (HasAuthToken(reader.Version))
            {
                AuthToken = reader.ReadString();
            }

            if (HasRuntimeClassHashes(reader.Version))
            {
                RuntimeClassHashes = new Dictionary <int, Hash128>();
                if (IsRuntimeClassHashesUInt32(reader.Version))
                {
                    Dictionary <int, uint> runtimeClassHashes = new Dictionary <int, uint>();
                    runtimeClassHashes.Read(reader);
                    foreach (KeyValuePair <int, uint> kvp in runtimeClassHashes)
                    {
                        RuntimeClassHashes.Add(kvp.Key, new Hash128(kvp.Value));
                    }
                }
                else
                {
                    RuntimeClassHashes.Read(reader);
                }
            }
            if (HasScriptHashes(reader.Version))
            {
                ScriptHashes = new Dictionary <Hash128, Hash128>();
                ScriptHashes.Read(reader);
            }
            if (HasGraphicsAPIs(reader.Version))
            {
                GraphicsAPIs = reader.ReadInt32Array();
            }
        }