FromProto() public method

public FromProto ( TableMailInfo proto ) : void
proto TableMailInfo
return void
 private void InitMailData()
 {
     if (m_MailInitStatus == DataInitStatus.Unload)
     {
         if (UserServerConfig.DataStoreAvailable == true)
         {
             m_MailInitStatus = DataInitStatus.Loading;
             Msg_LD_Load msg = new Msg_LD_Load();
             msg.MsgId = (int)DataEnum.TableMailInfo;
             GameFrameworkMessage.Msg_LD_SingleLoadRequest slr = new GameFrameworkMessage.Msg_LD_SingleLoadRequest();
             slr.MsgId    = (int)GameFrameworkData.DataEnum.TableMailInfo;
             slr.LoadType = GameFrameworkMessage.Msg_LD_SingleLoadRequest.LoadTypeEnum.LoadAll;
             slr.Keys.Clear();
             msg.LoadRequests.Add(slr);
             RequestLoad(msg, ((ret) => {
                 if (ret.ErrorNo == Msg_DL_LoadResult.ErrorNoEnum.Success)
                 {
                     List <TableMailInfoWrap> mailList = new List <TableMailInfoWrap>();
                     foreach (var singlerow in ret.Results)
                     {
                         object _msg;
                         if (DbDataSerializer.Decode(singlerow.Data, DataEnum2Type.Query(slr.MsgId), out _msg))
                         {
                             TableMailInfo dataMail = _msg as TableMailInfo;
                             if (null != dataMail)
                             {
                                 TableMailInfoWrap mailInfo = new TableMailInfoWrap();
                                 mailInfo.FromProto(dataMail);
                                 List <int> itemIds = Converter.ConvertNumericList <int>(dataMail.ItemIds);
                                 List <int> itemNums = Converter.ConvertNumericList <int>(dataMail.ItemNumbers);
                                 for (int i = 0; i < itemIds.Count && i < itemNums.Count; ++i)
                                 {
                                     var item = new MailItem();
                                     item.m_ItemId = itemIds[i];
                                     item.m_ItemNum = itemNums[i];
                                     mailInfo.m_Items.Add(item);
                                 }
                                 mailList.Add(mailInfo);
                             }
                         }
                     }
                     UserServer.Instance.GlobalProcessThread.InitMailData(mailList);
                     m_MailInitStatus = DataInitStatus.Done;
                     LogSys.Log(LOG_TYPE.INFO, ConsoleColor.Green, "Load DataCache global data success. Table:TableMailInfo");
                 }
                 else if (ret.ErrorNo == Msg_DL_LoadResult.ErrorNoEnum.NotFound)
                 {
                     //暂时初始化为空列表
                     List <TableMailInfoWrap> mailList = new List <TableMailInfoWrap>();
                     UserServer.Instance.GlobalProcessThread.InitMailData(mailList);
                     m_MailInitStatus = DataInitStatus.Done;
                     LogSys.Log(LOG_TYPE.INFO, ConsoleColor.Green, "Load DataCache global data success. Table:TableMailInfo (empty)");
                 }
                 else
                 {
                     m_MailInitStatus = DataInitStatus.Unload;
                     LogSys.Log(LOG_TYPE.ERROR, ConsoleColor.Red, "Load DataCache global data failed. Table: {0}", "TableMailInfo");
                 }
             }
                               ));
         }
         else
         {
             m_MailInitStatus = DataInitStatus.Done;
             LogSys.Log(LOG_TYPE.INFO, "init mail done!");
         }
     }
 }