diff --git a/plugin_template/assets/bundles/commnext_ui.bundle b/plugin_template/assets/bundles/commnext_ui.bundle index 6eda75b..28b65e3 100644 Binary files a/plugin_template/assets/bundles/commnext_ui.bundle and b/plugin_template/assets/bundles/commnext_ui.bundle differ diff --git a/src/CommNext/Modules/Modulator/Module_NextModulator.cs b/src/CommNext/Modules/Modulator/Module_NextModulator.cs index 2de4124..13e26f2 100644 --- a/src/CommNext/Modules/Modulator/Module_NextModulator.cs +++ b/src/CommNext/Modules/Modulator/Module_NextModulator.cs @@ -41,8 +41,6 @@ public override void OnInitialize() /// private void OnOmniBandChangedValue(bool isOmniBand) { - dataModulator!.SetInteractable(dataModulator!.Band, !isOmniBand); - dataModulator!.SetInteractable(dataModulator!.SecondaryBand, !isOmniBand); part.partOwner.SimObjectComponent.SimulationObject.Telemetry.RefreshCommNetNode(); } @@ -50,4 +48,16 @@ private void OnBandChangedValue(string band) { part.partOwner.SimObjectComponent.SimulationObject.Telemetry.RefreshCommNetNode(); } + + public override void OnShutdown() + { + base.OnShutdown(); + var modulator = dataModulator; + if (modulator != null) + { + modulator.OmniBand.OnChangedValue -= OnOmniBandChangedValue; + modulator.Band.OnChangedValue -= OnBandChangedValue; + modulator.SecondaryBand.OnChangedValue -= OnBandChangedValue; + } + } } \ No newline at end of file diff --git a/src/CommNext/Modules/Relay/Module_NextRelay.cs b/src/CommNext/Modules/Relay/Module_NextRelay.cs index b43d172..13f57b5 100644 --- a/src/CommNext/Modules/Relay/Module_NextRelay.cs +++ b/src/CommNext/Modules/Relay/Module_NextRelay.cs @@ -36,4 +36,11 @@ private void OnEnableRelayChange(bool isEnabled) { part.partOwner.SimObjectComponent.SimulationObject.Telemetry.RefreshCommNetNode(); } + + public override void OnShutdown() + { + base.OnShutdown(); + var relay = dataRelay; + if (relay != null) relay.EnableRelay.OnChangedValue -= OnEnableRelayChange; + } } \ No newline at end of file