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(); } }