forked from nikita/muzika-gromche
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