private void OnEnable() { manager = (InputManagerNew)target; manager.RefreshInputMappings(); SerializedProperty interactor = serializedObject.FindProperty("interactor"); SerializedProperty grabMap = serializedObject.FindProperty("grabMap"); if (interactor.objectReferenceValue == null) { InteractorRaw _interactor = null; _interactor = manager.GetComponent <InteractorRaw>(); if (_interactor == null) { _interactor = manager.GetComponentInParent <InteractorRaw>(); } interactor.objectReferenceValue = _interactor; } if (grabMap.objectReferenceValue == null) { foreach (var map in manager.inputMappings) { Debug.Log(map.mapName.ToLower().Contains("grab")); if (map.mapName.ToLower().Contains("grab")) { grabMap.objectReferenceValue = map; } } } serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { //base.OnInspectorGUI(); //manager = (InputManager)target; SerializedProperty handedness = serializedObject.FindProperty("handedness"); SerializedProperty grabMap = serializedObject.FindProperty("grabMap"); SerializedProperty inputMappingsProperty = serializedObject.FindProperty("inputMappings"); if (grabMap.objectReferenceValue == null) { foreach (var map in manager.inputMappings) { Debug.Log(map.mapName.ToLower().Contains("grab map set")); if (map.mapName.ToLower().Contains("grab")) { grabMap.objectReferenceValue = map; } } } manager = (InputManagerNew)target; manager.RefreshInputMappings(); GUILayout.Label($"{(InputManagerNew.hands)handedness.intValue} InputManager Maps: " + $"{inputMappingsProperty.arraySize}, Interactor: {manager.interactor != null} " + $"(grabMap({manager.grabMap != null}))"); //GUILayout.Label($"Grab Map: {(manager.grabMap ? manager.grabMap.mapName : "NULL")}"); //System.Collections.IEnumerator inputMappings ShowInputMapping(inputMappingsProperty); if (!manager.grabMap) { if (GUILayout.Button("Add Grab")) { AddGrab(); } } EditorGUILayout.BeginHorizontal(); GUILayout.Space(30); if (GUILayout.Button("Add Button Map")) { AddMap(InputMappingNew.InputType.Button, "new Button"); } if (GUILayout.Button("Add Float Map")) { AddMap(InputMappingNew.InputType.Trigger_Grab, "new Float"); } if (GUILayout.Button("Add Vector2 Map")) { AddMap(InputMappingNew.InputType.Joystick_Trackpad, "new Vector2"); } GUILayout.Space(30); EditorGUILayout.EndHorizontal(); //if (Selection.activeGameObject == manager.gameObject && manager.rig) // if (GUILayout.Button($"GOTO: {manager.rig.name}")) // EditorUtils.FocusObject(manager.rig.gameObject); GUILayout.Space(10); }