Ejemplo n.º 1
0
    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();
    }
Ejemplo n.º 2
0
 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();
     }
 }