UI 자동화를 위해 바인딩 기능 구현
- 유니티 에셋 인증 오류로 meta 재생성
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
|
||||
namespace UnityEngine.InputSystem.LowLevel
|
||||
{
|
||||
internal class SelectObservable<TSource, TResult> : IObservable<TResult>
|
||||
{
|
||||
private readonly IObservable<TSource> m_Source;
|
||||
private readonly Func<TSource, TResult> m_Filter;
|
||||
|
||||
public SelectObservable(IObservable<TSource> source, Func<TSource, TResult> filter)
|
||||
{
|
||||
m_Source = source;
|
||||
m_Filter = filter;
|
||||
}
|
||||
|
||||
public IDisposable Subscribe(IObserver<TResult> observer)
|
||||
{
|
||||
return m_Source.Subscribe(new Select(this, observer));
|
||||
}
|
||||
|
||||
private class Select : IObserver<TSource>
|
||||
{
|
||||
private SelectObservable<TSource, TResult> m_Observable;
|
||||
private readonly IObserver<TResult> m_Observer;
|
||||
|
||||
public Select(SelectObservable<TSource, TResult> observable, IObserver<TResult> observer)
|
||||
{
|
||||
m_Observable = observable;
|
||||
m_Observer = observer;
|
||||
}
|
||||
|
||||
public void OnCompleted()
|
||||
{
|
||||
}
|
||||
|
||||
public void OnError(Exception error)
|
||||
{
|
||||
Debug.LogException(error);
|
||||
}
|
||||
|
||||
public void OnNext(TSource evt)
|
||||
{
|
||||
var result = m_Observable.m_Filter(evt);
|
||||
m_Observer.OnNext(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user