Haply::Inverse::Unity::DeviceBehaviour
일반적인 기능과 상태 관리를 제공하는 역방향 디바이스의 기본 클래스를 나타냅니다.
모노비헤이비어에서 상속합니다.
Haply.Inverse.Unity.Inverse3, Haply.Inverse.Unity.VerseGrip에서 상속됨
공개 이벤트
이름 | |
---|---|
Action< DeviceBehaviour, Ret > | 오류 이벤트() |
연결 상태 델리게이트 | ConnectionStateChanged() 디바이스 연결 상태가 변경되면 트리거되는 이벤트입니다. |
Action< DeviceBehaviour, DeviceConnectionState, DeviceConnectionState > | 연결 상태 변경 비동기( ) 장치 연결 상태가 변경된 직후 트리거되는 이벤트입니다. |
공공 기능
이름 | |
---|---|
위임 무효 | 연결 상태 델리게이트(DeviceBehaviour 장치, DeviceConnectionState 상태, DeviceConnectionState 이전 상태) 장치의 연결 상태 변경 처리를 위한 델리게이트입니다. |
void | SetSetupToPerform( ) 다음 프레임에서 설정을 수행하도록 지정합니다. |
문자열 재정의 | ToString( ) 개체의 이름, 클래스 유형, 디바이스 ID를 포함하는 사람이 읽을 수 있는 설명을 제공하는 개체의 문자열 표현을 반환합니다. |
보호되는 기능
이름 | |
---|---|
void | InvokeReadyEvent( ) 준비 이벤트를 호출합니다. |
가상 무효 | Setup( 이 메서드는 _performSetup 플래그가 매 프레임마다 호출하기에는 너무 무거운 계산을 처리하도록 설정되면 자동으로 호출됩니다. |
가상 무효 | Awake() |
void | OnEnable() |
void | OnDisable() |
void | OnDestroy() |
가상 무효 | 고정 업데이트() |
공용 속성
이름 | |
---|---|
디바이스 유형 | 디바이스 유형 디바이스의 유형을 가져옵니다. |
int | SelectedDeviceId |
uint | DeviceId 디바이스 ID를 가져옵니다. |
bool | IsReady 장치를 사용할 준비가 되었는지 여부를 나타냅니다. |
커서 동작 | 커서 디바이스와 연결된 커서 동작을 가져오거나 설정합니다. |
장치 연결 상태 | 연결 상태 디바이스의 현재 연결 상태를 가져오거나 설정합니다. |
bool | IsConnected 디바이스가 연결되었는지 여부를 가져옵니다. |
bool | IsOpened 디바이스가 열려 있는지 여부를 가져옵니다. |
보호된 속성
이름 | |
---|---|
베이스 좌표 변환기 | CoordinateConverter |
bool | IsCursorSet 커서가 설정되었는지 여부를 나타냅니다. |
공개 속성
이름 | |
---|---|
const int | ANY_ID |
UnityEvent< DeviceBehaviour > | DeviceOpened 연결 상태가 DeviceConnectionState.Opened 상태로 전환될 때 트리거되는 이벤트입니다. |
UnityEvent< DeviceBehaviour > | DeviceClosed 연결 상태가 DeviceConnectionState.Connected 상태로 전환될 때 트리거되는 이벤트입니다. |
보호되는 속성
이름 | |
---|---|
문자열 | _객체이름 |
공개 이벤트 문서
이벤트 오류 이벤트
Action< DeviceBehaviour, Ret > ErrorEvent()
이벤트 연결 상태 변경
ConnectionStateDelegate ConnectionStateChanged()
디바이스 연결 상태가 변경되면 트리거되는 이벤트입니다.
이벤트 연결 상태 변경 비동기
Action< DeviceBehaviour, DeviceConnectionState, DeviceConnectionState > ConnectionStateChangedAsync()
디바이스 연결 상태가 변경된 직후 트리거되는 이벤트입니다.
참조: 연결 상태 변경
이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고빈도 스레드에서 업데이트되므로 이벤트 처리 시점의 상태가 현재 상태와 약간 다를 수 있습니다. 보다 정밀한 정보가 필요한 경우 ConnectionStateChanged 이벤트를 사용하세요.
공용 함수 문서
함수 연결 상태 델리게이트
delegate void ConnectionStateDelegate(
DeviceBehaviour device,
DeviceConnectionState state,
DeviceConnectionState prevState
)
디바이스의 연결 상태 변경 처리를 위한 위임.
매개변수:
- 상태 디바이스의 새 상태입니다.
- 이전 상태 디바이스의 이전 상태입니다.
- device 이벤트를 발생시키는 디바이스 인스턴스입니다.
함수 SetSetupToPerform
void SetSetupToPerform()
다음 프레임에서 설정을 수행하도록 표시합니다.
참조: 설정
함수 ToString
override string ToString()
객체의 이름, 클래스 유형, 디바이스 ID를 포함하는 사람이 읽을 수 있는 설명을 제공하는 객체의 문자열 표현을 반환합니다.
반환합니다: 반환: 이름, 클래스 유형, 디바이스 ID를 포함하여 현재 개체를 나타내는 문자열입니다.
The returned string follows the format: "name <Class>(#id)", where:
- "이름"은 오브젝트의
_objectName
필드에 입력합니다. - "클래스"는 객체의 클래스 유형 이름입니다.
- "id"는 4자 16진수 문자열 형식의 장치 ID 또는 장치 ID가 다음과 같은 경우 "*"입니다.
ANY_ID
. 만약DeviceId
는ANY_ID
의 값은SelectedDeviceId
가 사용됩니다.
이 방법은 객체에 대한 간결하고 유익한 설명을 제공하여 디버깅 및 로깅에 도움이 됩니다.
보호된 기능 문서
함수 InvokeReadyEvent
void InvokeReadyEvent()
준비 이벤트를 호출합니다.
이 메서드는 값이 true로 변경되면 IsReady 속성에 의해 자동으로 호출됩니다. 해당 이벤트를 트리거하려면 파생 클래스에서 구현해야 합니다.
디바이스가 완전히 초기화되어 사용할 준비가 되면 파생 클래스에서 IsReady 속성을 true로 설정해야 합니다.
함수 설정
virtual void Setup()
이 메서드는 매 프레임마다 호출하기에는 너무 무거운 계산을 처리하도록 _performSetup 플래그가 설정되면 자동으로 호출됩니다.
에 의해 재구현되었습니다: Haply::Inverse::Unity::Inverse3::설정
이 메서드는 기본 호출을 유지하도록 주의하면서 재정의할 수 있습니다. SetSetupToPerform을 사용하여 설정 호출을 트리거합니다.
함수 Awake
virtual void Awake()
함수 OnEnable
void OnEnable()
함수 OnDisable
void OnDisable()
함수 OnDestroy
void OnDestroy()
함수 고정 업데이트
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;
디바이스와 연결된 커서 동작을 가져오거나 설정합니다.
속성 연결 상태
DeviceConnectionState ConnectionState;
디바이스의 현재 연결 상태를 가져오거나 설정합니다.
디바이스는 DeviceConnectionState.Disconnected, DeviceConnectionState.Connected 또는 DeviceConnectionState.Opened 상태 중 하나에 있을 수 있습니다. 상태를 변경하면 해당 이벤트와 상태 변경 알림이 트리거됩니다.
속성 IsConnected
bool IsConnected;
디바이스가 연결되어 있는지 여부를 가져옵니다.
속성 IsOpened
bool IsOpened;
디바이스가 열려 있는지 여부를 가져옵니다.
보호 대상 자산 문서
속성 코디네이트 컨버터
BaseCoordinateConverter CoordinateConverter;
속성 IsCursorSet
bool IsCursorSet;
커서가 설정되었는지 여부를 나타냅니다.
이 프로퍼티는 커서의 존재 확인을 최적화하는 데 도움이 되는데, Unity에서는 null과 직접 비교하는 데 비용이 많이 들 수 있기 때문입니다.
공개 속성 문서
변수 ANY_ID
static const int ANY_ID = 0;
변수 DeviceOpened
UnityEvent< DeviceBehaviour > DeviceOpened;
ConnectionState가 DeviceConnectionState.Opened 상태로 전환될 때 트리거되는 이벤트입니다.
참조: 연결 상태 변경
이는 디바이스가 사용할 준비가 되었음을 나타내며, DeviceId 및 Inverse3.Handedness와 같은 모든 필수 데이터가 올바르게 초기화되었음을 의미합니다. DeviceType에 따라 첫 번째 인수로 전달된 DeviceBehaviour 인스턴스는 해당 유형( Inverse3 또는 VerseGrip)으로 형변환될 수 있습니다.
이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고빈도 스레드에서 업데이트되므로 이벤트 처리 시점의 상태가 현재 상태와 약간 다를 수 있습니다. 보다 정밀한 정보가 필요한 경우 ConnectionStateChanged 이벤트를 사용하세요.
변수 DeviceClosed
UnityEvent< DeviceBehaviour > DeviceClosed;
ConnectionState가 DeviceConnectionState.Connected 상태로 전환될 때 트리거되는 이벤트입니다.
참조: 연결 상태 변경
이는 디바이스를 더 이상 사용할 준비가 되지 않았음을 나타냅니다. DeviceType에 따라 첫 번째 인수로 전달된 DeviceBehaviour 인스턴스는 해당 유형( Inverse3 또는 VerseGrip)으로 형변환될 수 있습니다.
이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고빈도 스레드에서 업데이트되므로 이벤트 처리 시점의 상태가 현재 상태와 약간 다를 수 있습니다. 보다 정밀한 정보가 필요한 경우 ConnectionStateChanged 이벤트를 사용하세요.
보호된 속성 문서
변수 _객체이름
string _objectName;