public void DeleteCharacter(CharacterData data)
        {
            var fileDir = FileSaveManager.GetFileDirectory(SaveCharacterMenu.SAVE_LOCATION, FileSaveManager.Directories.global, FileSaveManager.Extensions.json);

            if (System.IO.File.Exists(fileDir))
            {
                var items = new List <string>();

                var fileLines = System.IO.File.ReadAllLines(fileDir);
                for (int i = 0; i < fileLines.Length; i++)
                {
                    var isMale = fileLines[i].Contains("\"male\":true");

                    if (fileLines[i].Contains(data.characterName) && fileLines[i].Contains(data.characterTag) && isMale == data.male)
                    {
                        continue;
                    }

                    items.Add(fileLines[i]);
                }

                System.IO.File.WriteAllLines(fileDir, items.ToArray());
            }
            else
            {
                Debug.LogError("Dear god something has gone terribly wrong!");
                // FIXME: Add a message for the user to let them know no saves exist
            }

            OnDisable();
            OnEnable();
        }
        public void SaveItem()
        {
            Debug.Log($"Saving: {nameText.text}");
            var data = new CharacterData(customCharacter.characterCustomization.GetSetup());

            data.male          = genderSelection.genderMale;
            data.characterTag  = $"{characterList.types[tagDropdown.value].name}";
            data.characterName = nameText.text;

            // ALT
            //FileSystem.FileSaveManager.Save(data, nameText.text, fileLocation, fileExtension);
            var serializedData = FileSaveManager.SerializeToString(data, FileSaveManager.Extensions.json) + "\n";

            var fileDir = FileSaveManager.GetFileDirectory(SAVE_LOCATION, FileSaveManager.Directories.global, FileSaveManager.Extensions.json);

            if (System.IO.File.Exists(fileDir))
            {
                var fileLines  = System.IO.File.ReadAllLines(fileDir);
                var totalLines = new List <string>();

                bool createdSave = false;

                for (int i = 0; i < fileLines.Length; i++)
                {
                    if (fileLines[i].Length <= 1)
                    {
                        continue;
                    }

                    // FIXME: This will only support JSON!
                    var isMale = fileLines[i].Contains("\"male\":true");

                    if (fileLines[i].Contains(data.characterName) && fileLines[i].Contains(data.characterTag) && isMale == data.male)
                    {
                        // FIXME: We should make sure that the user wants to overrite this file

                        fileLines[i] = "";
                        fileLines[i] = serializedData;

                        createdSave = true;
                    }

                    totalLines.Add(fileLines[i]);
                }

                if (createdSave == false)
                {
                    totalLines.Add(serializedData);
                }

                System.IO.File.WriteAllLines(fileDir, totalLines.ToArray());
            }
            else
            {
                System.IO.File.WriteAllText(fileDir, serializedData);
            }
        }
        private void OnEnable()
        {
            var fileDir = FileSaveManager.GetFileDirectory(SaveCharacterMenu.SAVE_LOCATION, FileSaveManager.Directories.global, FileSaveManager.Extensions.json);

            if (System.IO.File.Exists(fileDir))
            {
                var fileLines = System.IO.File.ReadAllLines(fileDir);

                for (int i = 0; i < fileLines.Length; i++)
                {
                    if (fileLines[i].Length <= 1)
                    {
                        continue;
                    }

                    var data = FileSaveManager.DeserializeString <CharacterData>(fileLines[i], extension);
                    if (data == null)
                    {
                        Debug.LogWarning($"Unable to deserialize data: {fileLines[i]}");

                        continue;
                    }

                    var buttonObj = Instantiate(loadButton, saveRegionParent);
                    buttonObj.GetComponent <LoadItemButton>().Initialize(data, this);
                    characters.Add(data);
                }
            }
            else
            {
                Debug.Log("No saves exist!");
                // FIXME: Add a message for the user to let them know no saves exist
            }

            /* OLD METHOD
             * var files = FileSaveManager.GetFilesFromDirectory(directory, extension);
             * foreach (var item in files)
             * {
             *  var buttonObj = Instantiate(loadButton, saveRegionParent);
             *  var data = FileSaveManager.Load<CharacterData>(item, directory, extension);
             *  buttonObj.GetComponent<LoadItemButton>().Initialize(item, data, this, directory, extension);
             * }*/
        }