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