26 lines
712 B
C#
26 lines
712 B
C#
using System;
|
|
using R3;
|
|
|
|
namespace GodotHostTest.Helpers;
|
|
|
|
public static class ObservableHelpers
|
|
{
|
|
public static IDisposable SubscribeOnce<T>(this Observable<T> observable, Action<T> action)
|
|
{
|
|
IDisposable? disposable = null;
|
|
disposable = observable.Subscribe(x =>
|
|
{
|
|
// ReSharper disable once AccessToModifiedClosure
|
|
disposable?.Dispose();
|
|
action(x);
|
|
});
|
|
return disposable;
|
|
}
|
|
|
|
public static ConnectableObservable<T> Connect<T>(this ConnectableObservable<T> connectableObservable,
|
|
out IDisposable disposable)
|
|
{
|
|
disposable = connectableObservable.Connect();
|
|
return connectableObservable;
|
|
}
|
|
} |