diff --git a/SlidePresenter/GamepadReader/JoyConRead.cs b/SlidePresenter/GamepadReader/JoyConRead.cs index f9b69fc..9459431 100644 --- a/SlidePresenter/GamepadReader/JoyConRead.cs +++ b/SlidePresenter/GamepadReader/JoyConRead.cs @@ -10,8 +10,8 @@ using wtf.cluster.JoyCon.InputReports; namespace ControllerSlidePresenter.GamepadReader; public class JoyConRead : IGamepadReader { - public event Action NextSlide; - public event Action PrevSlide; + public event Action? NextSlide; + public event Action? PrevSlide; public async Task Read() { Console.OutputEncoding = Encoding.UTF8; diff --git a/SlidePresenter/GamepadReader/WiimoteRead.cs b/SlidePresenter/GamepadReader/WiimoteRead.cs index 8f45454..5918a2e 100644 --- a/SlidePresenter/GamepadReader/WiimoteRead.cs +++ b/SlidePresenter/GamepadReader/WiimoteRead.cs @@ -4,8 +4,8 @@ using WiimoteLib.NetCore; namespace ControllerSlidePresenter.GamepadReader; public class WiimoteRead : IGamepadReader { - public event Action NextSlide; - public event Action PrevSlide; + public event Action? NextSlide; + public event Action? PrevSlide; public async Task Read() { Wiimote wiimote = new(); diff --git a/SlidePresenter/SlideSwitcher.cs b/SlidePresenter/SlideSwitcher.cs index cd26bf0..3cd7c5d 100644 --- a/SlidePresenter/SlideSwitcher.cs +++ b/SlidePresenter/SlideSwitcher.cs @@ -16,11 +16,14 @@ public class SlideSwitcher : IDisposable { public SlideSwitcher(IGamepadReader? reader) { _reader = reader; + if (_reader == null) return; + _reader.NextSlide += NextSlide; _reader.PrevSlide += PreviousSlide; } public void Dispose() { + if (_reader == null) return; _reader.NextSlide -= NextSlide; _reader.PrevSlide -= PreviousSlide; }