public void OnEnable() { bool loadFromTemp = InputBuildingUtility.IsTempUpToDate(); inputDefaults = (inputDefaults == null || inputDefaults.Count == 0)? InputBuildingUtility.ImportDefaultInputs(loadFromTemp).ToList():inputDefaults.Where(x => x != null).ToList(); //string[] assetGUIDS = AssetDatabase.FindAssets("t: InputControllerDefault"); //for(int i = 0; i < assetGUIDS.Length; i++) //{ // InputControllerDefault item = AssetDatabase.LoadAssetAtPath<InputControllerDefault>(AssetDatabase.GUIDToAssetPath(assetGUIDS[i])); // if (item != null) // { // inputDefaults.Add(item); // } //} idGUIS = new Dictionary <InputControllerDefault, DefaultsEditor>(); for (int i = 0; i < inputDefaults.Count; i++) { idGUIS.Add(inputDefaults[i], new DefaultsEditor(inputDefaults[i])); idGUIS[inputDefaults[i]].OnEnable(); } currentID = inputDefaults.Count > 0? inputDefaults[0]:null; Undo.undoRedoPerformed += OnUndo; UnitySave.OnSaveAssets += SaveSettings; }
private void RuntimePlatformTabGUI() { float width = position.width; horizontalScrollPost = EditorGUILayout.BeginScrollView(horizontalScrollPost, GUILayout.Height(EditorGUIUtility.singleLineHeight * 2.5f)); GUILayoutOption[] buttonTabGUILO = new GUILayoutOption[] { GUILayout.Width(width / 4), GUILayout.MinWidth(120) }; EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("+", EditorStyles.miniButton)) { EditorGUILayout.EndScrollView(); EditorGUILayout.EndHorizontal(); InputControllerDefault inputControllerDefault = CreateInstance <InputControllerDefault>(); Undo.RegisterCreatedObjectUndo(inputControllerDefault, "Create Platform Default"); inputDefaults.Insert(0, inputControllerDefault); ReInit(); return; } for (int i = 0; i < inputDefaults.Count; i++) { if (inputDefaults[i] == null) { ReInit(); goto End; } EditorGUI.BeginDisabledGroup(inputDefaults[i] == currentID); if (GUILayout.Button(Enum.GetName(typeof(RuntimePlatform), ((InputControllerDefault)idGUIS[inputDefaults[i]].target).runtimePlatform), buttonTabGUILO)) { currentID = inputDefaults[i]; } EditorGUI.EndDisabledGroup(); } End: EditorGUILayout.EndScrollView(); EditorGUILayout.EndHorizontal(); }