StellarXipher/Library/PackageCache/com.unity.inputsystem@920b46832575/InputSystem/Utilities/Observables/Observer.cs
2025-02-06 17:03:40 -05:00

32 lines
669 B
C#

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);
}
}
}