本文へスキップ
バージョン: 2.2.0

Haply::Inverse::Unity::DeviceBehaviour

インバース・デバイスの基本クラスを表し、共通の機能と状態管理を提供する。

MonoBehaviourを継承する。

継承元:Haply.Inverse.Unity.Inverse3Haply.Inverse.Unity.VerseGrip

イベント

名称
Action< DeviceBehaviour, Ret >エラー・イベント()
接続ステート・デリゲートConnectionStateChanged()
デバイスの接続状態が変更されたときにトリガーされるイベント。
Action< DeviceBehaviour, DeviceConnectionState, DeviceConnectionState >ConnectionStateChangedAsync()
デバイスの接続状態が変更された直後にトリガーされるイベント。

公共機能

名称
デリゲート・ボイドConnectionStateDelegate(DeviceBehaviourdevice, DeviceConnectionState state, DeviceConnectionState prevState)
デバイスの接続状態の変更を処理するためのデリゲート。
ボイドセットアップの実行()
次のフレームでセットアップを実行することを示す。
オーバーライド文字列ToString()
オブジェクトの文字列表現を返し、オブジェクトの名前、クラス・タイプ、デバイス ID を含む、人間が読める説明を提供します。

保護された機能

名称
ボイドレディ・イベントを呼び出す()
Ready イベントを呼び出します。
仮想空白セットアップ()
このメソッドは、_performSetupフラグがセットされると自動的に呼び出され、各フレームで呼び出すには重すぎる計算を処理する。
仮想空白目覚め()
ボイドオンイネーブル()
ボイド無効化()
ボイドオンデストロイ()
仮想空白固定更新()

公共施設

名称
デバイスタイプデバイスタイプ
デバイスのタイプを取得します。
イント選択デバイスID
ウイントデバイスID
デバイスIDを取得します。
ブールIsReady
デバイスが使用可能かどうかを示す。
カーソルカーソル
デバイスに関連付けられたCursorBehaviourを取得または設定します。
デバイス接続状態接続状態
デバイスの現在の接続状態を取得または設定します。
ブールIsConnected
デバイスが接続されているかどうかを取得します。
ブールIsOpened
デバイスが開いているかどうかを取得します。

保護されたプロパティ

名称
BaseCoordinateConverter座標変換
ブールIsCursorSet
カーソルが設定されているかどうかを示します。

パブリック属性

名称
const intANY_ID
UnityEvent< DeviceBehaviour >デバイスオープン
ConnectionStateがDeviceConnectionState.Opened状態に遷移したときにトリガーされるイベント。
UnityEvent< DeviceBehaviour >デバイスクローズ
ConnectionStateがDeviceConnectionState.Connected状態に遷移したときにトリガーされるイベント。

保護された属性

名称
ストリングオブジェクト名

公開イベント・ドキュメント

イベント ErrorEvent

Action< DeviceBehaviour, Ret > ErrorEvent()

イベント ConnectionStateChanged

ConnectionStateDelegate ConnectionStateChanged()

デバイスの接続状態が変化したときにトリガーされるイベント。

イベント ConnectionStateChangedAsync

Action< DeviceBehaviour, DeviceConnectionState, DeviceConnectionState > ConnectionStateChangedAsync()

デバイスの接続状態が変化した直後にトリガーされるイベント。

参照ConnectionStateChanged

このイベントはメインスレッドでディスパッチされるため、UnityのシーンオブジェクトやUIエレメントとの安全なインタラクションが可能になります。デバイスの状態は別の高頻度スレッドで更新されるため、イベントを処理する時の状態は現在の状態と若干異なる可能性があることに注意してください。より正確さが必要な場合はConnectionStateChangedイベントを使用してください。

パブリック・ファンクション・ドキュメント

関数 ConnectionStateDelegate

delegate void ConnectionStateDelegate(
DeviceBehaviour device,
DeviceConnectionState state,
DeviceConnectionState prevState
)

デバイスの接続状態の変更を処理するためのデリゲート。

パラメーター

  • stateデバイスの新しい状態。
  • prevStateデバイスの以前の状態。
  • deviceイベントを発生させるデバイス・インスタンス。

関数 SetSetupToPerform

void SetSetupToPerform()

次のフレームでセットアップを行うことを示す。

ご覧くださいセットアップ

関数 ToString

override string ToString()

オブジェクトの文字列表現を返し、オブジェクトの名前、クラスタイプ、デバイスIDを含む人間が読める説明を提供します。

戻り値現在のオブジェクトを表す文字列(名前、クラスタイプ、デバイスIDを含む)。

The returned string follows the format: "name <Class>(#id)", where:

  • 「name "はオブジェクトの _objectName フィールドにいる。
  • "Class "はオブジェクトのクラスタイプの名前である。
  • 「id」はデバイスIDで、4文字の16進文字列としてフォーマットされる。 ANY_ID.もし DeviceIdANY_IDの値である。 SelectedDeviceId が使われている。

このメソッドは、オブジェクトの簡潔で有益な説明を提供することで、デバッグやロギングに役立ちます。

保護された関数のドキュメント

関数 InvokeReadyEvent

void InvokeReadyEvent()

Readyイベントを呼び出す。

このメソッドは、IsReadyプロパティの値がtrueに変化すると自動的に呼び出される。対応するイベントをトリガするには、派生クラスで実装する必要があります。

IsReadyプロパティは、デバイスが完全に初期化され、使用可能な状態になったときに、派生クラスで真に設定されなければならない。

機能 セットアップ

virtual void Setup()

このメソッドは、_performSetupフラグがセットされると自動的に呼び出され、各フレームで呼び出すには重すぎる計算を処理する。

によって再実装されるHaply::Inverse::Unity::Inverse3::セットアップ

このメソッドは、ベース・コールを保持するように注意してオーバーライドできる。SetSetupToPerformを使用してSetupコールをトリガーする。

アウェイク機能

virtual void Awake()

関数 OnEnable

void OnEnable()

関数 OnDisable

void OnDisable()

関数 OnDestroy

void OnDestroy()

関数 FixedUpdate

virtual void FixedUpdate()

によって再実装されています:Haply::Inverse::Unity::Inverse3::FixedUpdate

公共財産の文書化

プロパティ DeviceType

DeviceType DeviceType;

デバイスのタイプを取得します。

Inverse.DeviceType.Inverse3、Inverse.DeviceType.VerseGrip、またはInverse.DeviceType.Nilを指定します。

プロパティ SelectedDeviceId

int SelectedDeviceId;

プロパティ DeviceId

uint DeviceId;

デバイス ID を取得します。

プロパティ IsReady

bool IsReady;

デバイスが使用可能かどうかを示す。

プロパティ カーソル

CursorBehaviour Cursor;

デバイスに関連付けられたCursorBehaviourを取得または設定します。

プロパティ ConnectionState

DeviceConnectionState ConnectionState;

デバイスの現在の接続状態を取得または設定します。

デバイスは、DeviceConnectionState.Disconnected、DeviceConnectionState.Connected、DeviceConnectionState.Openのいずれかの状態になります。状態を変更すると、対応するイベントと状態変更通知がトリガーされます。

プロパティ IsConnected

bool IsConnected;

デバイスが接続されているかどうかを取得します。

プロパティ IsOpened

bool IsOpened;

デバイスがオープンされているかどうかを取得します。

保護された財産の文書化

プロパティ CoordinateConverter

BaseCoordinateConverter CoordinateConverter;

プロパティ IsCursorSet

bool IsCursorSet;

カーソルが設定されているかどうかを示す。

Unityではnullとの直接比較は高くつくことがあるため、このプロパティはカーソルの存在チェックを最適化するのに役立ちます。

公開属性のドキュメント

変数 ANY_ID

static const int ANY_ID = 0;

変数 DeviceOpened

UnityEvent< DeviceBehaviour > DeviceOpened;

ConnectionStateがDeviceConnectionState.Opened状態に遷移したときにトリガーされるイベント。

参照ConnectionStateChanged

これは、DeviceIdや Inverse3.Handednessなどの必要なデータが正しく初期化され、デバイスが使用可能な状態であることを示します。DeviceTypeに応じて、第1引数として渡されたDeviceBehaviourインスタンスは、対応する型(Inverse3またはVerseGrip)にキャストすることができます。

このイベントはメインスレッドでディスパッチされるため、UnityのシーンオブジェクトやUIエレメントとの安全なインタラクションが可能になります。デバイスの状態は別の高頻度スレッドで更新されるため、イベントを処理する時の状態は現在の状態と若干異なる可能性があることに注意してください。より正確さが必要な場合はConnectionStateChangedイベントを使用してください。

変数 DeviceClosed

UnityEvent< DeviceBehaviour > DeviceClosed;

ConnectionStateがDeviceConnectionState.Connected状態に遷移したときにトリガーされるイベント。

参照ConnectionStateChanged

これは、デバイスがもう使用できないことを示す。DeviceTypeに応じて、第1引数として渡されたDeviceBehaviourインスタンスを対応するタイプ、Inverse3またはVerseGripにキャストすることができます。

このイベントはメインスレッドでディスパッチされるため、UnityのシーンオブジェクトやUIエレメントとの安全なインタラクションが可能になります。デバイスの状態は別の高頻度スレッドで更新されるため、イベントを処理する時の状態は現在の状態と若干異なる可能性があることに注意してください。より正確さが必要な場合はConnectionStateChangedイベントを使用してください。

保護された属性の文書化

変数 _objectName

string _objectName;