| 
					
				 | 
			
			
				@@ -142,7 +142,8 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             IsTeaParty = (bool)datas[4]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _autoPlay = IsTeaParty; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _autoPlay = _lastStartAutoPlay; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _ui.m_btnAutoPlay.selected = _autoPlay; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (LauncherConfig.netType == LauncherConfig.EnumNetType.TEMP && !InstanceZonesDataManager.CheckLevelPass(MainStoryDataManager.currentLevelCfgId)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -156,7 +157,6 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_btnSkip.visible = skipable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_c1.selectedIndex = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _ui.m_btnAutoPlay.selected = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (_storyStartID == MainStoryDataManager.priorId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -180,13 +180,14 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Timers.inst.StartCoroutine(CheckResLoad()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private bool _lastStartAutoPlay = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         protected override void OnHide() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             base.OnHide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Timers.inst.Remove(UpdateShake); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Timers.inst.Remove(OnScreenEffectComplete); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Timers.inst.Remove(ShowNextWords); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ScreenBlackController.Instance.HideBlack(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _lastStartAutoPlay = _autoPlay; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             StopAutoPlay(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             VoiceManager.Instance.StopVoice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -407,7 +408,7 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _canClickBtnNext = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (content.IndexOf("//") >= 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                showList(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ShowList(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -415,7 +416,7 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private void showList(string content) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void ShowList(string content) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             StopAutoPlay(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _ui.m_btnAutoPlay.enabled = false; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -477,8 +478,14 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             string[] effectInfo = storyDialogCfg.effectInfoArr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             VoiceManager.Instance.StopVoice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // 如果配置了语音,读取语音 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            VoiceManager.Instance.LoadRes(ResPathUtil.GetVoicePath(storyDialogCfg.voiceRes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 如果没开倍速才加载语音 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(_speedAutoPlay == 1 || !_autoPlay) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 如果配置了语音,读取语音 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                VoiceManager.Instance.LoadRes(ResPathUtil.GetVoicePath(storyDialogCfg.voiceRes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _wordList = Regex.Split(words, "&&"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 有对话 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -669,7 +676,7 @@ namespace GFGGame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _wordIndex++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (_autoPlay) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                int interval = (int)Mathf.Max(VoiceManager.Instance.GetClipLength(), GameConst.NEXT_WORDS_INTERVAL_MAX / _speedAutoPlay); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                float interval = Mathf.Max(VoiceManager.Instance.GetClipRemainingLength(), GameConst.NEXT_WORDS_INTERVAL_MAX / _speedAutoPlay); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Timers.inst.Add(interval, 1, ShowNextWords); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |