少年修仙传客户端代码仓库
client_linchunjie
2018-10-18 418cc83fa62fc3d98f181feec1f9fe4afeee8432
System/Chat/ChatCenter.cs
@@ -332,9 +332,13 @@
                           var _player = int.Parse(speech.playerID);
                           if (string.IsNullOrEmpty(speech.content))
                           {
                               if ((TimeUtility.ServerNow - TimeUtility.ClientOriginalTime.AddTicks(_tick)).TotalMinutes < 2)//可能是语音未上传成功
                               var seconds = (TimeUtility.ServerNow - TimeUtility.ClientOriginalTime.AddTicks(_tick)).TotalSeconds;
                               if (seconds < 10 && seconds >= 0)//可能是语音未上传成功
                               {
                                   AutoPlayVoice();
                                   if (!CheckAutoRequestInDelay(tick, _player))
                                   {
                                       AutoPlayVoice();
                                   }
                               }
                               else
                               {
@@ -361,6 +365,27 @@
                       }
                   }
               });
        }
        private bool CheckAutoRequestInDelay(long tick, int playerId)
        {
            var autoPlayVoice = autoPlayVoices.Find((x) =>
            {
                return x.tick == tick && x.playerId == playerId;
            });
            var seconds = 0f;
            if (!autoPlayVoice.Equals(default(VoiceInfo)))
            {
                seconds = (float)(TimeUtility.ServerNow - autoPlayVoice.lastRequestTime).TotalSeconds;
            }
            if (seconds < 2f && seconds > 0)
            {
                TimeMgr.Instance.Register(TimeMgr.SyntonyType.AutoPlayVoice, 2 - seconds, () =>
                  {
                      AutoPlayVoice();
                  });
            }
            return seconds < 2f && seconds > 0;
        }
        private bool CheckRequestTimeLimit(int _playerId, long _tick)
@@ -621,6 +646,7 @@
                }
                else
                {
                    _speech.lastRequestTime = TimeUtility.ServerNow;
                    DownloadSpeech(_speech.playerId, _speech.tick);
                }
            }
@@ -689,12 +715,13 @@
            });
        }
        public struct VoiceInfo
        public class VoiceInfo
        {
            public int playerId;
            public long tick;
            public float length;
            public ChatInfoType type;
            public DateTime lastRequestTime;
        }
        #endregion