protected static int ParseListString2(GameDataParser parser, byte[] bytes, int offset, GameDataBase gameDataObj, string fieldName) { BitConverterUtility.ConvertEndianFrom(bytes, true, offset, 4); var arrayCount = BitConverter.ToInt32(bytes, offset); offset += 4; List <List <string> > array = new List <List <string> >(arrayCount); for (int i = 0; i < arrayCount; i++) { BitConverterUtility.ConvertEndianFrom(bytes, true, offset, 4); var count = BitConverter.ToInt32(bytes, offset); offset += 4; List <string> values = new List <string>(count); for (int j = 0; j < count; j++) { BitConverterUtility.ConvertEndianFrom(bytes, true, offset, 4); var value = BitConverter.ToInt32(bytes, offset); offset += 4; values.Add(parser.m_StringBuffList[value]); } array.Add(values); } gameDataObj.SetListString2(fieldName, array); return(offset); }