//top GUI listeners void SaveButtonListener() { saveButton.onClick.AddListener( delegate { string inputText = mapNameInput.text.ToString(); if (inputText == "" || inputText == null) { inputText = mapChoiceDropdown.value.ToString(); } //get maps from json, remove duplicates,save new map, save to json List <LevelMap> allMaps = MapParser.GetAllLevelMapsFromJSON(); LevelMap.RemoveCopiesWithSameName(inputText, ref allMaps); mapEditor.map.name = inputText; allMaps.Add(mapEditor.map); MapParser.SaveLevelMapsToJSON(allMaps); //destroy allMaps except active one because they dont need to be on screen(bad solution but works) LevelMap.ClearAllMaps(ref allMaps); //refresh dropdown to display saved map InitMapChoiceItems(); }); }