Open lfod1997 opened 2 months ago
Extension methods and utility classes for easy conversion from a Godot signal to an observable.
Although we can use FromEvent to create observable from any event:
FromEvent
var observable = Observable.FromEvent<WhoType>( h => myCheese.Touched += h, h => myCheese.Touched -= h );
It:
Func<Action<T>, TDelegate> conversion
OnComplete
CancellationToken
Prefer something easier:
var observable = myCheese.SignalAsObservable<WhoType>(Cheese.SignalName.Touched, completeOnExitTree: true);
Subject
OnNext
GodotObject
Node
SignalName
Summary
Extension methods and utility classes for easy conversion from a Godot signal to an observable.
Motivation
Although we can use
FromEvent
to create observable from any event:It:
Func<Action<T>, TDelegate> conversion
(= more boilerplate!) if the signal has more than one event argOnComplete
unless canceled by aCancellationToken
Prefer something easier:
Subject
'sOnNext
OnComplete
automatically, if theGodotObject
is aNode
and has exited treeSignalName
explicitly