[Add] UniRX

V7.1.0
This commit is contained in:
2026-05-27 03:26:36 +07:00
parent 73dee3a113
commit 9d28d1bc39
506 changed files with 42627 additions and 0 deletions
@@ -0,0 +1,73 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace UniRx
{
/// <summary>
/// Notify boolean flag.
/// </summary>
public class BooleanNotifier : IObservable<bool>
{
readonly Subject<bool> boolTrigger = new Subject<bool>();
bool boolValue;
/// <summary>Current flag value</summary>
public bool Value
{
get { return boolValue; }
set
{
boolValue = value;
boolTrigger.OnNext(value);
}
}
/// <summary>
/// Setup initial flag.
/// </summary>
public BooleanNotifier(bool initialValue = false)
{
this.Value = initialValue;
}
/// <summary>
/// Set and raise true if current value isn't true.
/// </summary>
public void TurnOn()
{
if (Value != true)
{
Value = true;
}
}
/// <summary>
/// Set and raise false if current value isn't false.
/// </summary>
public void TurnOff()
{
if (Value != false)
{
Value = false;
}
}
/// <summary>
/// Set and raise reverse value.
/// </summary>
public void SwitchValue()
{
Value = !Value;
}
/// <summary>
/// Subscribe observer.
/// </summary>
public IDisposable Subscribe(IObserver<bool> observer)
{
return boolTrigger.Subscribe(observer);
}
}
}