表示テーマ
EventBus
EventBus 型をキーにしたグローバル pub/sub。GameObject に依存しないゲーム全体イベント向け。 イベント型は readonly struct 推奨。typeof(T) 完全一致で配信し、基底/派生への fan-out は行わない。例外ログ・owner 破棄での自動解除・次フレーム遅延発火を備える。 main thread 専用。delegate スナップショットで Publish 中の購読変更・再入も安全。
型の情報
- 名前空間:
NEMEngine - 型:
NEMEngine.EventBus(Class)
Clear
csharp
public static void Clear<T>()保持する要素・粒子・個別設定などを消去します。対象型の説明を確認してください。
ListenerCount
csharp
public static int ListenerCount<T>()現在登録されている受信処理の数です。
戻り値:int。
Publish
csharp
public static void Publish<T>(in T evt)即時配信。購読者ゼロなら何もしない
| 引数 | 型 | 既定値 |
|---|---|---|
evt | In T | 必須 |
PublishDeferred
csharp
public static void PublishDeferred<T>(in T evt)次フレーム頭(Update phase)まで遅延して配信する。配信先は flush 時点の購読者
| 引数 | 型 | 既定値 |
|---|---|---|
evt | In T | 必須 |
Subscribe
csharp
public static EventSubscription Subscribe<T>(MonoBehaviour owner, Action<T> handler)owner 破棄時に自動解除される購読
| 引数 | 型 | 既定値 |
|---|---|---|
owner | NEMEngine.MonoBehaviour | 必須 |
handler | System.Action<T> | 必須 |
戻り値:NEMEngine.EventSubscription。
Subscribe
csharp
public static EventSubscription Subscribe<T>(Action<T> handler)イベント受信処理を登録します。所有Script付きの場合は所有者の寿命に結び付きます。
| 引数 | 型 | 既定値 |
|---|---|---|
handler | System.Action<T> | 必須 |
戻り値:NEMEngine.EventSubscription。
Unsubscribe
csharp
public static void Unsubscribe<T>(Action<T> handler)イベント購読を解除します。
| 引数 | 型 | 既定値 |
|---|---|---|
handler | System.Action<T> | 必須 |
実行時の扱い
Nativeと接続する操作は、Scriptが実行される有効なWorld内で使用します。破棄したGameObjectやComponentへのアクセスは避けてください。設定Snapshotは取得・編集・反映を1組で扱います。