public ControlSetup(InputDevice device) { m_DeviceType = device.GetType(); m_DefaultAdditionsAsStandardized = true; device.AddStandardControls(this); m_DefaultAdditionsAsStandardized = false; }
void MakeMostRecentDevice(InputDevice device) { for (var type = device.GetType(); type != typeof(InputDevice); type = type.BaseType) { m_MostRecentDeviceOfType[type] = device; } }
public int LookupDeviceIndex(InputDevice inputDevice) { List <InputDevice> list; if (!m_DevicesByType.TryGetValue(inputDevice.GetType(), out list)) { return(-1); } return(list.IndexOf(inputDevice)); }
public static void Create(InputDevice device) { InputDeviceDebuggerWindow window = EditorWindow.CreateInstance <InputDeviceDebuggerWindow>(); window.m_SerialNumber = device.serialNumber; window.m_TypeName = device.GetType().FullName; window.m_Device = device; window.minSize = new Vector2(270, 300); window.Show(); window.titleContent = new GUIContent(device.name); }
public void UnregisterDevice(InputDevice inputDevice) { if (!m_InputDevices.Contains(inputDevice)) { return; } m_InputDevices.Remove(inputDevice); var deviceType = inputDevice.GetType(); UnregisterDeviceByTypes(deviceType, inputDevice); }
public void RegisterDevice(InputDevice inputDevice) { if (m_InputDevices.Contains(inputDevice)) { return; } m_InputDevices.Add(inputDevice); var deviceType = inputDevice.GetType(); RegisterDeviceByTypes(deviceType, inputDevice); }
public int GetDeviceKey(InputDevice device) { for (int i = 0; i < m_DeviceSlots.Count; i++) { var deviceSlot = m_DeviceSlots[i]; if (device.GetType().IsInstanceOfType(deviceSlot.type.value) && (device.tagIndex == -1 || device.tagIndex == deviceSlot.tagIndex)) { return(deviceSlot.key); } } return(DeviceSlot.kInvalidKey); }
void OnEnable() { EditorApplication.playmodeStateChanged += Repaint; for (int i = 0; i < InputSystem.devices.Count; i++) { InputDevice device = InputSystem.devices[i]; if (device.serialNumber == m_SerialNumber && device.GetType().FullName == m_TypeName) { m_Device = device; break; } } m_BeforeRemap = new InputHandlerCallback { processEvent = evt => { RecordEventBeforeRemap(evt); return(false); } }; m_AfterRemap = new InputHandlerCallback { processEvent = evt => { RecordEventAfterRemap(evt); return(false); } }; InputSystem.rewriters.children.Insert(0, m_BeforeRemap); InputSystem.consumers.children.Insert(0, m_AfterRemap); m_Preview.Init("InputDeviceDebugger"); }
void OnGUI() { if (m_Device == null) { if (!InputSystemEditorUtility.inputSystemEnabled) { InputSystemEditorUtility.ShowSystemNotEnabledHelpbox(); return; } EditorGUILayout.HelpBox(Styles.notFoundHelpText, MessageType.Warning); return; } if (m_ControlIndexStrings == null || m_ControlIndexStrings.Count != m_Device.controlCount) { InitControlNames(); } EditorGUILayout.BeginVertical("OL Box", GUILayout.ExpandHeight(false)); EditorGUILayout.LabelField("Name", m_Device.name); EditorGUILayout.LabelField("Profile", m_Device.profile != null ? m_Device.profile.GetType().Name : ""); EditorGUILayout.LabelField("Connected", m_Device.isConnected.ToString()); EditorGUILayout.LabelField("Active", m_Device.active.ToString()); EditorGUILayout.LabelField("Manufacturer", m_Device.manufacturer); EditorGUILayout.LabelField("Serial Number", m_Device.serialNumber); EditorGUILayout.LabelField("Device Type", m_Device.GetType().Name); EditorGUILayout.LabelField("Device Tag Index", m_Device.tagIndex.ToString()); EditorGUILayout.LabelField("Native Device ID", m_Device.nativeId.ToString()); EditorGUILayout.EndVertical(); bool wasActive = InputSystem.isActive; InputSystem.isActive = true; m_ScrollControls = EditorGUILayout.BeginScrollView(m_ScrollControls); int controlCount = m_Device.controlCount; EditorGUI.indentLevel += 2; for (int i = 0; i < controlCount; i++) { InputControl control = m_Device.GetControl(i); string str = ToStringWithDecimals(control.valueObject); EditorGUILayout.LabelField(control.name, str); Rect rect = GUILayoutUtility.GetLastRect(); rect.width = 28; GUI.Label(rect, m_ControlIndexStrings[i], Styles.labelRightAligned); } EditorGUI.indentLevel -= 2; GUILayout.FlexibleSpace(); EditorGUILayout.EndScrollView(); InputSystem.isActive = wasActive; GUILayout.BeginHorizontal(EditorStyles.toolbar); GUILayout.Label("Events", GUILayout.MinWidth(100)); Rect toolbarHandle = GUILayoutUtility.GetLastRect(); Rect searchRect = GUILayoutUtility.GetRect(GUIContent.none, Styles.toolbarSearchField, GUILayout.MinWidth(140)); if (m_Preview.GetExpanded()) { m_EventSearchString = EditorGUI.TextField(searchRect, m_EventSearchString, Styles.toolbarSearchField); if (GUILayout.Button( GUIContent.none, m_EventSearchString == string.Empty ? Styles.toolbarSearchFieldCancelEmpty : Styles.toolbarSearchFieldCancel)) { m_EventSearchString = string.Empty; EditorGUIUtility.keyboardControl = 0; } } GUILayout.EndHorizontal(); float height = m_Preview.ResizeHandle(new Rect(toolbarHandle.x, position.y, toolbarHandle.width, position.height), 100, 250, 17); if (height > 0) { ShowEvents(height); } }