public override void OnInspectorGUI() { RenderHeader(); EditorGUILayout.LabelField("Controller Input Mappings", EditorStyles.boldLabel); EditorGUILayout.HelpBox("Use this profile to define all the controllers and their inputs your users will be able to use in your application.\n\n" + "You'll want to define all your Input Actions and Controller Data Providers first so you can wire up actions to hardware sensors, controllers, gestures, and other input devices.", MessageType.Info); EditorGUILayout.Space(); ThisProfile.CheckProfileLock(); serializedObject.Update(); EditorGUILayout.LabelField("Select a profile type:"); changed = false; var showDropdown = EditorGUILayout.DropdownButton(AddMappingDefinitionContent, FocusType.Keyboard); if (Event.current.type == EventType.Repaint) { dropdownRect = GUILayoutUtility.GetLastRect(); } if (showDropdown) { TypeReferencePropertyDrawer.DisplayDropDown(dropdownRect, mappingTypes, null, TypeGrouping.ByNamespaceFlat); } if (Event.current.type == EventType.ExecuteCommand) { if (Event.current.commandName == TypeReferencePropertyDrawer.TypeReferenceUpdated) { controllerMappingProfiles.arraySize += 1; var newItem = controllerMappingProfiles.GetArrayElementAtIndex(controllerMappingProfiles.arraySize - 1); CreateNewProfileInstance(ThisProfile, newItem, TypeReferencePropertyDrawer.SelectedType); TypeReferencePropertyDrawer.SelectedType = null; TypeReferencePropertyDrawer.SelectedReference = null; changed = true; } } EditorGUILayout.Space(); for (int i = 0; i < controllerMappingProfiles.arraySize; i++) { var controllerProfile = controllerMappingProfiles.GetArrayElementAtIndex(i); EditorGUILayout.BeginHorizontal(); changed |= RenderProfile(ThisProfile, controllerProfile, GUIContent.none, false); if (GUILayout.Button(RemoveMappingDefinitionContent, EditorStyles.miniButtonRight, GUILayout.Width(24f))) { controllerMappingProfiles.DeleteArrayElementAtIndex(i); changed = true; } EditorGUILayout.EndHorizontal(); if (changed) { break; } } serializedObject.ApplyModifiedProperties(); if (changed && MixedRealityToolkit.IsInitialized) { EditorApplication.delayCall += () => MixedRealityToolkit.Instance.ResetProfile(MixedRealityToolkit.Instance.ActiveProfile); } }
public void DeleteAllDataPoints() { Logger.Info("Deleting " + ThisProfile.ObservableDatapoints.Count + " datapoints..."); ThisProfile.DeleteAllTimepoints(); Logger.Info("Deleted all data points."); }