1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using System; // require keep for Windows Universal App
- using UnityEngine;
- namespace UniRx.Triggers
- {
- [DisallowMultipleComponent]
- public class ObservableJointTrigger : ObservableTriggerBase
- {
- Subject<float> onJointBreak;
- void OnJointBreak(float breakForce)
- {
- if (onJointBreak != null) onJointBreak.OnNext(breakForce);
- }
- public IObservable<float> OnJointBreakAsObservable()
- {
- return onJointBreak ?? (onJointBreak = new Subject<float>());
- }
-
-
- Subject<Joint2D> onJointBreak2D;
- void OnJointBreak2D(Joint2D brokenJoint)
- {
- if (onJointBreak2D != null) onJointBreak2D.OnNext(brokenJoint);
- }
- public IObservable<Joint2D> OnJointBreak2DAsObservable()
- {
- return onJointBreak2D ?? (onJointBreak2D = new Subject<Joint2D>());
- }
-
- protected override void RaiseOnCompletedOnDestroy()
- {
- if (onJointBreak != null)
- {
- onJointBreak.OnCompleted();
- }
- if (onJointBreak2D != null)
- {
- onJointBreak2D.OnCompleted();
- }
- }
- }
- }
|