Physics Triggers
1. 概要
Physics Trigger は、Unity の 2D / 3D 物理コールバックを Observable に変換する R3.Unity のファクトリメソッドです。GameObject と Component の両方に拡張メソッドが用意されています。
2. API 一覧
| API | 対象 | 発行値 |
|---|---|---|
OnCollisionEnterAsObservable() | GameObject / Component | Collision |
OnCollisionExitAsObservable() | GameObject / Component | Collision |
OnCollisionStayAsObservable() | GameObject / Component | Collision |
OnCollisionEnter2DAsObservable() | GameObject / Component | Collision2D |
OnCollisionExit2DAsObservable() | GameObject / Component | Collision2D |
OnCollisionStay2DAsObservable() | GameObject / Component | Collision2D |
OnTriggerEnterAsObservable() | GameObject / Component | Collider |
OnTriggerExitAsObservable() | GameObject / Component | Collider |
OnTriggerStayAsObservable() | GameObject / Component | Collider |
OnTriggerEnter2DAsObservable() | GameObject / Component | Collider2D |
OnTriggerExit2DAsObservable() | GameObject / Component | Collider2D |
OnTriggerStay2DAsObservable() | GameObject / Component | Collider2D |
3. マーブルダイアグラム
対応する物理イベントが発生するたびに、イベント引数が発行されます。
4. サンプルコード
csharp
this.OnTriggerEnterAsObservable()
.Subscribe(other => Debug.Log(other.name))
.AddTo(this);
gameObject.OnCollisionEnter2DAsObservable()
.Subscribe(collision => Hit(collision))
.AddTo(this);