public void Read (TProtocol iprot)
 {
   TField field;
   iprot.ReadStructBegin();
   while (true)
   {
     field = iprot.ReadFieldBegin();
     if (field.Type == TType.Stop) { 
       break;
     }
     switch (field.ID)
     {
       case 10:
         if (field.Type == TType.List) {
           {
             MusicRangeConfigMap = new List<Config.MusicGameRangeConfig>();
             TList _list111 = iprot.ReadListBegin();
             for( int _i112 = 0; _i112 < _list111.Count; ++_i112)
             {
               Config.MusicGameRangeConfig _elem113 = new Config.MusicGameRangeConfig();
               _elem113 = new Config.MusicGameRangeConfig();
               _elem113.Read(iprot);
               MusicRangeConfigMap.Add(_elem113);
             }
             iprot.ReadListEnd();
           }
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 20:
         if (field.Type == TType.List) {
           {
             MusicSpeedConfigMap = new List<Config.MusicGameSpeedConfig>();
             TList _list114 = iprot.ReadListBegin();
             for( int _i115 = 0; _i115 < _list114.Count; ++_i115)
             {
               Config.MusicGameSpeedConfig _elem116 = new Config.MusicGameSpeedConfig();
               _elem116 = new Config.MusicGameSpeedConfig();
               _elem116.Read(iprot);
               MusicSpeedConfigMap.Add(_elem116);
             }
             iprot.ReadListEnd();
           }
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 30:
         if (field.Type == TType.List) {
           {
             MusicErrorConfigMap = new List<Config.MusicGameErrorConfig>();
             TList _list117 = iprot.ReadListBegin();
             for( int _i118 = 0; _i118 < _list117.Count; ++_i118)
             {
               Config.MusicGameErrorConfig _elem119 = new Config.MusicGameErrorConfig();
               _elem119 = new Config.MusicGameErrorConfig();
               _elem119.Read(iprot);
               MusicErrorConfigMap.Add(_elem119);
             }
             iprot.ReadListEnd();
           }
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       default: 
         TProtocolUtil.Skip(iprot, field.Type);
         break;
     }
     iprot.ReadFieldEnd();
   }
   iprot.ReadStructEnd();
 }
        public void Read(TProtocol iprot)
        {
            TField field;

            iprot.ReadStructBegin();
            while (true)
            {
                field = iprot.ReadFieldBegin();
                if (field.Type == TType.Stop)
                {
                    break;
                }
                switch (field.ID)
                {
                case 10:
                    if (field.Type == TType.List)
                    {
                        {
                            MusicRangeConfigMap = new List <Config.MusicGameRangeConfig>();
                            TList _list111 = iprot.ReadListBegin();
                            for (int _i112 = 0; _i112 < _list111.Count; ++_i112)
                            {
                                Config.MusicGameRangeConfig _elem113 = new Config.MusicGameRangeConfig();
                                _elem113 = new Config.MusicGameRangeConfig();
                                _elem113.Read(iprot);
                                MusicRangeConfigMap.Add(_elem113);
                            }
                            iprot.ReadListEnd();
                        }
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 20:
                    if (field.Type == TType.List)
                    {
                        {
                            MusicSpeedConfigMap = new List <Config.MusicGameSpeedConfig>();
                            TList _list114 = iprot.ReadListBegin();
                            for (int _i115 = 0; _i115 < _list114.Count; ++_i115)
                            {
                                Config.MusicGameSpeedConfig _elem116 = new Config.MusicGameSpeedConfig();
                                _elem116 = new Config.MusicGameSpeedConfig();
                                _elem116.Read(iprot);
                                MusicSpeedConfigMap.Add(_elem116);
                            }
                            iprot.ReadListEnd();
                        }
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 30:
                    if (field.Type == TType.List)
                    {
                        {
                            MusicErrorConfigMap = new List <Config.MusicGameErrorConfig>();
                            TList _list117 = iprot.ReadListBegin();
                            for (int _i118 = 0; _i118 < _list117.Count; ++_i118)
                            {
                                Config.MusicGameErrorConfig _elem119 = new Config.MusicGameErrorConfig();
                                _elem119 = new Config.MusicGameErrorConfig();
                                _elem119.Read(iprot);
                                MusicErrorConfigMap.Add(_elem119);
                            }
                            iprot.ReadListEnd();
                        }
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                default:
                    TProtocolUtil.Skip(iprot, field.Type);
                    break;
                }
                iprot.ReadFieldEnd();
            }
            iprot.ReadStructEnd();
        }