Fix stale event handlers causing errors in console
This commit is contained in:
		
							parent
							
								
									dd3c9647e3
								
							
						
					
					
						commit
						4abd0fb612
					
				|  | @ -2,6 +2,7 @@ | |||
| 
 | ||||
| ## MuzikaGromche 1337.420.69 | ||||
| 
 | ||||
| - Fix harmless but annoying errors in BepInEx console output. | ||||
| 
 | ||||
| ## MuzikaGromche 1337.69.420 - It's All Connected Edition | ||||
| 
 | ||||
|  |  | |||
|  | @ -1828,15 +1828,30 @@ namespace MuzikaGromche | |||
|             ChooseTrackDeferred(); | ||||
|             foreach (var track in Plugin.Tracks) | ||||
|             { | ||||
|                 track.Weight.SettingChanged += (_, _) => ChooseTrackDeferred(); | ||||
|                 track.Weight.SettingChanged += ChooseTrackDeferredDelegate; | ||||
|             } | ||||
|             Config.SkipExplicitTracks.SettingChanged += (_, _) => ChooseTrackDeferred(); | ||||
|             Config.SkipExplicitTracks.SettingChanged += ChooseTrackDeferredDelegate; | ||||
|             base.OnNetworkSpawn(); | ||||
|         } | ||||
| 
 | ||||
|         public override void OnNetworkDespawn() | ||||
|         { | ||||
|             foreach (var track in Plugin.Tracks) | ||||
|             { | ||||
|                 track.Weight.SettingChanged -= ChooseTrackDeferredDelegate; | ||||
|             } | ||||
|             Config.SkipExplicitTracks.SettingChanged -= ChooseTrackDeferredDelegate; | ||||
|             base.OnNetworkDespawn(); | ||||
|         } | ||||
| 
 | ||||
|         // Batch multiple weights changes in a single network RPC | ||||
|         private Coroutine? DeferredCoroutine = null; | ||||
| 
 | ||||
|         private void ChooseTrackDeferredDelegate(object sender, EventArgs e) | ||||
|         { | ||||
|             ChooseTrackDeferred(); | ||||
|         } | ||||
| 
 | ||||
|         private void ChooseTrackDeferred() | ||||
|         { | ||||
|             if (DeferredCoroutine != null) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue