| 873 | } |
| 874 | |
| 875 | ovrResult InputManager::AttachSession(XrSession session) |
| 876 | { |
| 877 | for (XrSpace space : m_ActionSpaces) |
| 878 | CHK_XR(xrDestroySpace(space)); |
| 879 | m_ActionSpaces.clear(); |
| 880 | |
| 881 | if (session) |
| 882 | { |
| 883 | std::vector<XrActionSet> actionSets; |
| 884 | for (InputDevice* device : m_InputDevices) |
| 885 | { |
| 886 | device->GetActionSpaces(session, m_ActionSpaces); |
| 887 | actionSets.push_back(device->ActionSet()); |
| 888 | } |
| 889 | |
| 890 | XrSessionActionSetsAttachInfo attachInfo = XR_TYPE(SESSION_ACTION_SETS_ATTACH_INFO); |
| 891 | attachInfo.countActionSets = (uint32_t)actionSets.size(); |
| 892 | attachInfo.actionSets = actionSets.data(); |
| 893 | CHK_XR(xrAttachSessionActionSets(session, &attachInfo)); |
| 894 | } |
| 895 | return ovrSuccess; |
| 896 | } |
| 897 | |
| 898 | ovrResult InputManager::SyncInputState(XrSession session, XrDuration displayPeriod) |
| 899 | { |
no test coverage detected