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를 포함하는 사람이 읽을 수 있는 설명을 제공하는 개체의 문자열 표현을 반환합니다. |
보호되는 기능
이름 | |
---|---|
가상 무효 | Setup( 이 메서드는 _performSetup 플래그가 매 프레임마다 호출하기에는 너무 무거운 계산을 처리하도록 설정되면 자동으로 호출됩니다. |
가상 무효 | Awake() |
void | OnEnable() |
void | OnDisable() |
void | OnDestroy() |
가상 무효 | 고정 업데이트() |
공용 속성
이름 | |
---|---|
디바이스 유형 | 디바이스 유형 디바이스의 유형을 가져옵니다. |
int | SelectedDeviceId |
uint | DeviceId 디바이스 ID를 가져옵니다. |
커서 동작 | 커서 디바이스와 연결된 커서 동작을 가져오거나 설정합니다. |
장치 연결 상태 | 연결 상태 디바이스의 현재 연결 상태를 가져오거나 설정합니다. |
bool | IsConnected 디바이스가 연결되었는지 여부를 가져옵니다. |
bool | IsOpened 디바이스가 열려 있는지 여부를 가져옵니다. |
bool | IsReady |
보호된 속성
이름 | |
---|---|
베이스 좌표 변환기 | 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
가 사용됩니다.
이 방법은 객체에 대한 간결하고 유익한 설명을 제공하여 디버깅 및 로깅에 도움이 됩니다.
보호된 기능 문서
함수 설정
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를 가져옵니다.
속성 커서
CursorBehaviour Cursor;
디바이스와 연결된 커서 동작을 가져오거나 설정합니다.
속성 연결 상태
DeviceConnectionState ConnectionState;
디바이스의 현재 연결 상태를 가져오거나 설정합니다.
디바이스는 DeviceConnectionState.Disconnected, DeviceConnectionState.Connected 또는 DeviceConnectionState.Opened 상태 중 하나에 있을 수 있습니다. 상태를 변경하면 해당 이벤트와 상태 변경 알림이 트리거됩니다.
속성 IsConnected
bool IsConnected;
디바이스가 연결되어 있는지 여부를 가져옵니다.
속성 IsOpened
bool IsOpened;
디바이스가 열려 있는지 여부를 가져옵니다.
속성 IsReady
bool IsReady;
보호 대상 자산 문서
속성 코디네이트 컨버터
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;