12345678910111213141516171819202122232425262728293031 |
- using System; // require keep for Windows Universal App
- using UnityEngine;
- namespace UniRx.Triggers
- {
- [DisallowMultipleComponent]
- public class ObservableFixedUpdateTrigger : ObservableTriggerBase
- {
- Subject<Unit> fixedUpdate;
- /// <summary>This function is called every fixed framerate frame, if the MonoBehaviour is enabled.</summary>
- void FixedUpdate()
- {
- if (fixedUpdate != null) fixedUpdate.OnNext(Unit.Default);
- }
- /// <summary>This function is called every fixed framerate frame, if the MonoBehaviour is enabled.</summary>
- public IObservable<Unit> FixedUpdateAsObservable()
- {
- return fixedUpdate ?? (fixedUpdate = new Subject<Unit>());
- }
- protected override void RaiseOnCompletedOnDestroy()
- {
- if (fixedUpdate != null)
- {
- fixedUpdate.OnCompleted();
- }
- }
- }
- }
|