public ChainSubClassSet GetChainSubClassSetTable(uint i) { ChainSubClassSet cscs = null; if (GetChainSubClassSetOffset(i) != 0) { cscs = new ChainSubClassSet(m_offsetChainContextSubst + GetChainSubClassSetOffset(i), m_bufTable); } return cscs; }
public static ChainSubClassSet CreateFrom(BinaryReader reader, long beginAt) { reader.BaseStream.Seek(beginAt, SeekOrigin.Begin); // ChainSubClassSet chainSubClassSet = new ChainSubClassSet(); ushort count = reader.ReadUInt16(); short[] subClassRuleOffsets = Utils.ReadInt16Array(reader, count); ChainSubClassRuleTable[] subClassRuleTables = chainSubClassSet.subClassRuleTables = new ChainSubClassRuleTable[count]; for (int i = 0; i < count; ++i) { subClassRuleTables[i] = ChainSubClassRuleTable.CreateFrom(reader, beginAt + subClassRuleOffsets[i]); } return chainSubClassSet; }