using System; namespace UnityEngine.InputSystem.Utilities { internal class Observer<TValue> : IObserver<TValue> { private Action<TValue> m_OnNext; private Action m_OnCompleted; public Observer(Action<TValue> onNext, Action onCompleted = null) { m_OnNext = onNext; m_OnCompleted = onCompleted; } public void OnCompleted() { m_OnCompleted?.Invoke(); } public void OnError(Exception error) { Debug.LogException(error); } public void OnNext(TValue evt) { m_OnNext?.Invoke(evt); } } }