public void editorGUI(bool removeButton) { EditorGUILayout.BeginVertical(GUI.skin.box); GUILayout.BeginHorizontal(EditorStyles.inspectorDefaultMargins); saveData.isExpanded = EditorGUILayout.Foldout(saveData.isExpanded, new GUIContent(saveData.name), true, EditorStyles.foldout); serializedObject.Update(); // Display a button showing a '-' that if clicked removes this asset from the parent asset. if (removeButton && EditorTools.createListButton("-", true, GUILayout.Width(buttonWidth))) { AllSavesDataEditor.RemoveSaveData(saveData); return; } GUILayout.EndHorizontal(); if (saveData.isExpanded) { EditorGUI.indentLevel += 1; EditorGUILayout.LabelField(new GUIContent("SaveData Name")); GUILayout.BeginHorizontal(); saveData.name = EditorGUILayout.TextField(saveData.name); if (GUILayout.Button("Rename", GUILayout.ExpandWidth(false))) { AssetDatabase.SaveAssets(); } EditorGUI.indentLevel -= 1; GUILayout.Space(10); GUILayout.EndHorizontal(); EditorGUILayout.BeginVertical(GUI.skin.box); EditorGUILayout.LabelField(new GUIContent("Dictionaries"), GUILayout.ExpandWidth(false)); GUILayout.Space(5); // Display all the values for each data type. KeyValuePairListsGUI("Bools", saveData.boolKeyValuePairLists, boolSpecificGUI); KeyValuePairListsGUI("Integers", saveData.intKeyValuePairLists, intSpecificGUI); KeyValuePairListsGUI("Strings", saveData.stringKeyValuePairLists, stringSpecificGUI); KeyValuePairListsGUI("Vector3s", saveData.vector3KeyValuePairLists, vector3SpecificGUI); KeyValuePairListsGUI("Quaternions", saveData.quaternionKeyValuePairLists, quaternionSpecificGUI); EditorGUILayout.EndVertical(); } EditorGUILayout.EndVertical(); }
private void drawPersistenceTab() { if (!AllSavesData.Instance) { EditorTools.drawMessage("AllSavesData. has not been created yet.", MessageType.Info); if (EditorTools.createListButton("Create AllSavesData. Object", false)) { AllSavesDataEditor.CreateAllSavesDataAsset(); } } else { Editor.CreateEditor(AllSavesData.Instance).OnInspectorGUI(); } }