Example #1
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            if (IsReadPreloadTable(reader.Version))
            {
                m_preloadTable = reader.ReadAssetArray <PPtr <Object> >();
            }

            m_container = reader.ReadKVPStringTArray <AssetBundles.AssetInfo>();
            MainAsset.Read(reader);

            if (IsReadScriptCampatibility(reader.Version))
            {
                m_scriptCampatibility = reader.ReadAssetArray <AssetBundleScriptInfo>();
            }
            if (IsReadClassCampatibility(reader.Version))
            {
                m_classCampatibility = reader.ReadKVPInt32UInt32Array();
            }

            if (IsReadClassVersionMap(reader.Version))
            {
                m_classVersionMap = new Dictionary <int, int>();
                m_classVersionMap.Read(reader);
            }

            if (IsReadRuntimeCompatibility(reader.Version))
            {
                RuntimeCompatibility = reader.ReadUInt32();
            }

            if (IsReadAssetBundleName(reader.Version))
            {
                AssetBundleName = reader.ReadString();
                m_dependencies  = reader.ReadStringArray();
            }
            if (IsReadIsStreamedSceneAssetBundle(reader.Version))
            {
                IsStreamedSceneAssetBundle = reader.ReadBoolean();
                reader.AlignStream(AlignType.Align4);
            }
            if (IsReadExplicitDataLayout(reader.Version))
            {
                ExplicitDataLayout = reader.ReadInt32();
            }
            if (IsReadPathFlags(reader.Version))
            {
                PathFlags = reader.ReadInt32();
            }

            if (IsReadSceneHashes(reader.Version))
            {
                m_sceneHashes = new Dictionary <string, string>();
                m_sceneHashes.Read(reader);
            }
        }
Example #2
0
        public override void Read(AssetStream stream)
        {
            base.Read(stream);

            if (IsReadPreloadTable(stream.Version))
            {
                m_preloadTable = stream.ReadArray <PPtr <Object> >();
            }

            m_container = stream.ReadStringKVPArray <AssetBundles.AssetInfo>();
            MainAsset.Read(stream);

            if (IsReadScriptCampatibility(stream.Version))
            {
                m_scriptCampatibility = stream.ReadArray <AssetBundleScriptInfo>();
            }
            if (IsReadClassCampatibility(stream.Version))
            {
                m_classCampatibility = stream.ReadInt32KVPUInt32Array();
            }

            if (IsReadClassVersionMap(stream.Version))
            {
                m_classVersionMap = new Dictionary <int, int>();
                m_classVersionMap.Read(stream);
            }

            if (IsReadRuntimeCompatibility(stream.Version))
            {
                RuntimeCompatibility = stream.ReadUInt32();
            }

            if (IsReadAssetBundleName(stream.Version))
            {
                AssetBundleName = stream.ReadStringAligned();
                m_dependencies  = stream.ReadStringArray();
            }
            if (IsReadIsStreamedSceneAssetBundle(stream.Version))
            {
                IsStreamedSceneAssetBundle = stream.ReadBoolean();
                stream.AlignStream(AlignType.Align4);
            }

            if (IsReadPathFlags(stream.Version))
            {
                PathFlags = stream.ReadInt32();
            }
        }
Example #3
0
        public override void Read(EndianStream stream)
        {
            base.Read(stream);

            m_preloadTable = stream.ReadArray(() => new PPtr <Object>(AssetsFile));
            m_container    = stream.ReadStringKVPArray(() => new AssetBundles.AssetInfo(AssetsFile));
            MainAsset.Read(stream);
            if (IsReadScriptCampatibility)
            {
                m_scriptCampatibility = stream.ReadArray <AssetBundleScriptInfo>();
                m_classCampatibility  = stream.ReadInt32KVPUInt32Array();
            }
            RuntimeCompatibility = stream.ReadUInt32();
            if (IsReadAssetBundleName)
            {
                AssetBundleName            = stream.ReadStringAligned();
                m_dependencies             = stream.ReadStringArray();
                IsStreamedSceneAssetBundle = stream.ReadBoolean();
                stream.AlignStream(AlignType.Align4);

                PathFlags = stream.ReadInt32();
            }
        }