public MuteHandler(UDPDuplex behringer, GpioController controller, MuteSetting muteSetting) { this.muteSetting = muteSetting; this.behringer = behringer; this.controller = controller; var mutePathBuilder = new StringBuilder(); mutePathBuilder.Append("/ch/"); mutePathBuilder.Append(muteSetting.channel.ToString("D2")); mutePathBuilder.Append("/mix/on"); mutePath = mutePathBuilder.ToString(); try { controller.OpenPin(muteSetting.gpio, PinMode.InputPullUp); controller.RegisterCallbackForPinValueChangedEvent(muteSetting.gpio, PinEventTypes.Falling, MuteEnabled); controller.RegisterCallbackForPinValueChangedEvent(muteSetting.gpio, PinEventTypes.Rising, MuteDisabled); } catch (Exception e) { log.Info(e, $"Could not connect to pin {muteSetting.gpio}"); throw; } }
private void Start() { Methods.PlayMainMenuMusic(); _muteSetting = PlayerPrefs.GetInt("Muted", 0) == 0 ? MuteSetting.UnMuted : MuteSetting.Muted; switch (_muteSetting) { case MuteSetting.UnMuted: muteButton.SetActive(true); unMuteButton.SetActive(false); break; case MuteSetting.Muted: muteButton.SetActive(false); unMuteButton.SetActive(true); break; default: throw new ArgumentOutOfRangeException(); } }