public void Read (TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.Map) { { RaidTmpls = new Dictionary<int, RaidTemplate>(); TMap _map4 = iprot.ReadMapBegin(); for( int _i5 = 0; _i5 < _map4.Count; ++_i5) { int _key6; RaidTemplate _val7; _key6 = iprot.ReadI32(); _val7 = new RaidTemplate(); _val7.Read(iprot); RaidTmpls[_key6] = _val7; } iprot.ReadMapEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Map) { { RaidStageTmpls = new Dictionary<int, RaidStageTemplate>(); TMap _map8 = iprot.ReadMapBegin(); for( int _i9 = 0; _i9 < _map8.Count; ++_i9) { int _key10; RaidStageTemplate _val11; _key10 = iprot.ReadI32(); _val11 = new RaidStageTemplate(); _val11.Read(iprot); RaidStageTmpls[_key10] = _val11; } iprot.ReadMapEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 3: if (field.Type == TType.Map) { { RaidMonsterGroupTmpls = new Dictionary<int, RaidMonsterGroupTemplate>(); TMap _map12 = iprot.ReadMapBegin(); for( int _i13 = 0; _i13 < _map12.Count; ++_i13) { int _key14; RaidMonsterGroupTemplate _val15; _key14 = iprot.ReadI32(); _val15 = new RaidMonsterGroupTemplate(); _val15.Read(iprot); RaidMonsterGroupTmpls[_key14] = _val15; } iprot.ReadMapEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }