void ForEachRayOrigin(ForEachRayOriginCallback callback, bool activeOnly = true) { for (var i = 0; i < m_Proxies.Count; i++) { var proxy = m_Proxies[i]; if (activeOnly && !proxy.active) { continue; } foreach (var rayOriginPair in proxy.rayOrigins) { var systemDevices = GetSystemDevices(); for (int j = 0; j < systemDevices.Count; j++) { var device = systemDevices[j]; // Find device tagged with the node that matches this RayOrigin node var node = GetDeviceNode(device); if (node.HasValue && node.Value == rayOriginPair.Key) { DeviceData deviceData; if (m_DeviceData.TryGetValue(device, out deviceData)) { callback(proxy, rayOriginPair, device, deviceData); } break; } } } } }
static void IterateRayOrigins(ForEachRayOriginCallback callback) { var evrDeviceData = evr.m_DeviceData; for (var i = 0; i < evrDeviceData.Count; i++) { var deviceData = evrDeviceData[i]; var proxy = deviceData.proxy; if (!proxy.active) { continue; } callback(deviceData.rayOrigin); } }
public void LoadModule() { m_UpdateKeyboardMallets = UpdateKeyboardMallets; }
void Awake() { m_UpdateKeyboardMallets = UpdateKeyboardMallets; }
static void ForEachRayOrigin(ForEachRayOriginCallback callback) { ForEachProxyDevice(deviceData => callback(deviceData.rayOrigin)); }
public static void ForEachRayOrigin(this IForEachRayOrigin obj, ForEachRayOriginCallback callback) { forEachRayOrigin(callback); }