PointerController クラス
IRawPointerSource の生イベント列を PointerEvent(Add/Remove 合成・PointerId 採番済み)へ変換する状態機械。 生イベントは任意のスレッドから受け取りキューに積むだけで、変換と OnPointerEvent の発火は Flush を呼んだスレッド(UI スレッドを想定)上で行います。
名前空間: FloatSoda.Abstractions.Input
アセンブリ: FloatSoda.Abstractions.dll
public class PointerController : IDisposable実装するインターフェイス
Section titled “実装するインターフェイス”継承したメンバー
Section titled “継承したメンバー”object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
コンストラクター
Section titled “コンストラクター”PointerController(IRawPointerSource)
Section titled “PointerController(IRawPointerSource)”指定された生ポインター入力源を購読するコントローラーを作成します。
public PointerController(IRawPointerSource pointerSource)パラメーター
Section titled “パラメーター”pointerSource IRawPointerSource
購読する生ポインター入力源。nullは指定できず、破棄するまで保持されます。
Dispose()
Section titled “Dispose()”生ポインター入力源の購読を解除し、以後に発生するイベントの受信を停止します。
public void Dispose()破棄前にキューへ追加済みのイベントは削除されず、その後のFlushで通知されます。
Flush()
Section titled “Flush()”キューに溜まった生イベントを取り出して状態機械へ流し、OnPointerEvent を発火します。 UI スレッドから毎フレーム呼びます。
public void Flush()OnPointerEvent
Section titled “OnPointerEvent”変換済みポインタイベントの通知。Flush を呼んだスレッドで発火します。
public event Action<PointerEvent>? OnPointerEvent