32 lines
669 B
C#
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);
|
|
}
|
|
}
|
|
}
|