Esempio n. 1
0
        public void Read(AssetReader reader)
        {
            Code         = reader.ReadString();
            AssetPath    = reader.ReadString();
            PlatformMask = reader.ReadUInt32();
            if (IsReadHardwareTierVariantsMask(reader.Version))
            {
                HardwareTierVariantsMask = reader.ReadUInt32();
            }
            if (IsReadStartLine(reader.Version))
            {
                StartLine = reader.ReadInt32();
            }
            TypesMask = reader.ReadUInt32();
            IncludesHash.Read(reader);
            if (IsReadCodeHash(reader.Version))
            {
                CodeHash.Read(reader);
            }
            if (IsReadTarget(reader.Version))
            {
                if (IsReadTargetFirst(reader.Version))
                {
                    Target = reader.ReadInt32();
                }
            }
            if (IsReadIsGLSL(reader.Version))
            {
                bool IsGLSL = reader.ReadBoolean();
                Language = IsGLSL ? 1 : 0;
            }
            FromOther = reader.ReadBoolean();
            if (IsReadForceSyncCompilation(reader.Version))
            {
                ForceSyncCompilation = reader.ReadBoolean();
            }
            reader.AlignStream(AlignType.Align4);

            if (IsReadLanguage(reader.Version))
            {
                Language = reader.ReadInt32();
            }

            if (IsReadKeywordCombinations(reader.Version))
            {
                m_keywordCombinations0 = reader.ReadStringArrayArray();
                m_keywordCombinations1 = reader.ReadStringArrayArray();
                m_keywordCombinations2 = reader.ReadStringArrayArray();
                m_keywordCombinations3 = reader.ReadStringArrayArray();
                m_keywordCombinations4 = reader.ReadStringArrayArray();
                m_keywordCombinations5 = reader.ReadStringArrayArray();
            }
            else
            {
                m_variantsUserGlobal0 = reader.ReadStringArrayArray();
                m_variantsUserGlobal1 = reader.ReadStringArrayArray();
                m_variantsUserGlobal2 = reader.ReadStringArrayArray();
                m_variantsUserGlobal3 = reader.ReadStringArrayArray();
                m_variantsUserGlobal4 = reader.ReadStringArrayArray();
                m_variantsUserGlobal5 = reader.ReadStringArrayArray();

                if (IsReadVariantsUserLocal(reader.Version))
                {
                    m_variantsUserLocal0 = reader.ReadStringArrayArray();
                    m_variantsUserLocal1 = reader.ReadStringArrayArray();
                    m_variantsUserLocal2 = reader.ReadStringArrayArray();
                    m_variantsUserLocal3 = reader.ReadStringArrayArray();
                    m_variantsUserLocal4 = reader.ReadStringArrayArray();
                    m_variantsUserLocal5 = reader.ReadStringArrayArray();
                }

                m_variantsBuiltin0 = reader.ReadStringArrayArray();
                m_variantsBuiltin1 = reader.ReadStringArrayArray();
                m_variantsBuiltin2 = reader.ReadStringArrayArray();
                m_variantsBuiltin3 = reader.ReadStringArrayArray();
                m_variantsBuiltin4 = reader.ReadStringArrayArray();
                m_variantsBuiltin5 = reader.ReadStringArrayArray();
            }

            if (IsReadTarget(reader.Version))
            {
                if (!IsReadTargetFirst(reader.Version))
                {
                    Target = reader.ReadInt32();
                }
            }

            if (IsReadTargetVariants(reader.Version))
            {
                m_targetVariants0 = reader.ReadStringArrayArray();
                m_targetVariants1 = reader.ReadStringArrayArray();
                m_targetVariants2 = reader.ReadStringArrayArray();
                m_targetVariants3 = reader.ReadStringArrayArray();
                m_targetVariants4 = reader.ReadStringArrayArray();
                m_targetVariants5 = reader.ReadStringArrayArray();
            }

            if (IsReadBaseRequirements(reader.Version))
            {
                BaseRequirements    = reader.ReadInt32();
                m_keywordTargetInfo = reader.ReadAssetArray <KeywordTargetInfo>();
            }
            if (IsReadNonStrippedUserKeywords(reader.Version))
            {
                NonStrippedUserKeywords = reader.ReadString();
                BuiltinKeywords         = reader.ReadString();
            }
        }