private static void OnDeviceConnected(uint deviceIndex, bool connected) { var prevState = VRModule.GetPreviousDeviceState(deviceIndex); var currState = VRModule.GetCurrentDeviceState(deviceIndex); // update serial number table and model number table if (connected) { for (int i = s_mapTable.Count - 1; i >= 0; --i) { s_mapTable.GetValueByIndex(i).OnConnectedDeviceChanged(deviceIndex, currState.deviceClass, currState.serialNumber, true); } } else { for (int i = s_mapTable.Count - 1; i >= 0; --i) { s_mapTable.GetValueByIndex(i).OnConnectedDeviceChanged(deviceIndex, prevState.deviceClass, prevState.serialNumber, false); } } }