private void OnNewWorld() { var persistentWorld = PersistentWorldManager.GetInstance().PersistentWorld; var nameWorldDialog = new Dialog_PersistentWorlds_NameWorld((name) => { var worldDir = SaveFileUtils.Clone(persistentWorld.LoadSaver.GetWorldFolderPath(), PersistentWorldLoadSaver.SaveDir + "/" + name); // Delete original world file. worldDir.GetFiles("*.pwf").Do(file => file.Delete()); // Change original world name. persistentWorld.WorldData.Info.name = name; persistentWorld.LoadSaver = new PersistentWorldLoadSaver(persistentWorld, worldDir.FullName); this.SaveWorld(); this.LoadWorldsAsEntries(); }); Find.WindowStack.Add(nameWorldDialog); }
private async Task ExportArtworkAsync() { if (this.HasArtwork) { await SaveFileUtils.SaveImageFileAsync("cover", this.Artwork.Value); } }
public EditAlbumViewModel(Common.Database.Entities.Album album, IMetadataService metadataService, IDialogService dialogService, ICacheService cacheService) { this.Album = album; this.metadataService = metadataService; this.dialogService = dialogService; this.cacheService = cacheService; this.artwork = new MetadataArtworkValue(); this.LoadedCommand = new DelegateCommand(async() => await this.GetAlbumArtworkAsync()); this.ExportArtworkCommand = new DelegateCommand(async() => { if (HasArtwork) { await SaveFileUtils.SaveImageFileAsync("cover", this.Artwork.Value); } }); this.ChangeArtworkCommand = new DelegateCommand(async() => { if (!await OpenFileUtils.OpenImageFileAsync(new Action <byte[]>(this.UpdateArtwork))) { this.dialogService.ShowNotification(0xe711, 16, ResourceUtils.GetString("Language_Error"), ResourceUtils.GetString("Language_Error_Changing_Image"), ResourceUtils.GetString("Language_Ok"), true, ResourceUtils.GetString("Language_Log_File")); } }); this.RemoveArtworkCommand = new DelegateCommand(() => this.UpdateArtwork(null)); this.DownloadArtworkCommand = new DelegateCommand(() => this.DownloadArtworkAsync(), () => this.album.AlbumArtist != Defaults.UnknownArtistText && this.Album.AlbumTitle != Defaults.UnknownAlbumText); }
public EditTrackViewModel(IList <string> paths, IMetadataService metadataService, IDialogService dialogService) { this.multipleValuesText = "<" + ResourceUtils.GetString("Language_Multiple_Values") + ">"; this.artists = new MetadataValue(); this.title = new MetadataValue(); this.album = new MetadataValue(); this.albumArtists = new MetadataValue(); this.year = new MetadataValue(); this.trackNumber = new MetadataValue(); this.trackCount = new MetadataValue(); this.discNumber = new MetadataValue(); this.discCount = new MetadataValue(); this.genres = new MetadataValue(); this.grouping = new MetadataValue(); this.comment = new MetadataValue(); this.lyrics = new MetadataValue(); this.artwork = new MetadataArtworkValue(); this.paths = paths; this.metadataService = metadataService; this.dialogService = dialogService; this.HasMultipleArtwork = false; this.UpdateAlbumArtwork = false; this.LoadedCommand = new DelegateCommand(async() => await this.GetFilesMetadataAsync()); this.NavigateCommand = new DelegateCommand <string>((index) => Navigate(index)); this.ExportArtworkCommand = new DelegateCommand(async() => { if (HasArtwork) { await SaveFileUtils.SaveImageFileAsync("cover", this.Artwork.Value); } }); this.ChangeArtworkCommand = new DelegateCommand(async() => { if (!await OpenFileUtils.OpenImageFileAsync(new Action <byte[]>(this.UpdateArtwork))) { this.dialogService.ShowNotification( 0xe711, 16, ResourceUtils.GetString("Language_Error"), ResourceUtils.GetString("Language_Error_Changing_Image"), ResourceUtils.GetString("Language_Ok"), true, ResourceUtils.GetString("Language_Log_File")); } }); this.RemoveArtworkCommand = new DelegateCommand(() => this.UpdateArtwork(null)); this.Navigate("1"); // Make sure something is displayed when the screen is shown }
private void LoadWorldsAsEntries() { this.worldEntries.Clear(); new Thread(() => { foreach (var entry in SaveFileUtils.LoadWorldEntries()) { this.worldEntries.Add(entry); } }).Start(); }
public ActionResult Upload() { try { Microsoft.AspNetCore.Http.IFormFile file = Request.Form.Files[0]; return(Content(SaveFileUtils.SaveFile(file))); } catch (System.Exception e) { Console.WriteLine(e); return(StatusCode(500)); } }
private bool IsValidName(string s) { if (SaveFileUtils.WorldWithNameExists(s)) { Messages.Message("FilUnderscore.PersistentRimWorlds.Save.WorldNameAlreadyUsed".Translate(), MessageTypeDefOf.RejectInput, false); return(false); } else if (!GenText.IsValidFilename(s) || GrammarResolver.ContainsSpecialChars(s)) { // TODO: Invalid chars message. return(false); } return(true); }
private void LoadPossibleConversions() { var names = new List <string>(); worldEntries.Do(entry => names.Add(((WorldUI.WorldUIEntry)entry).Name)); var namesArray = names.ToArray(); foreach (var allSavedGameFile in GenFilePaths.AllSavedGameFiles) { if (SaveFileUtils.HasPossibleSameWorldName(namesArray, allSavedGameFile.FullName)) { continue; } saveGameEntries.Add(new WorldUI.SaveGameUIEntry(allSavedGameFile.FullName)); } names.Clear(); }
public void SaveWorld(bool delete = false) { LongEventHandler.QueueLongEvent(delegate { this.SaveColony(); this.ConvertCurrentGameWorldObjects(); this.LoadSaver.SaveWorldData(); this.ConvertToCurrentGameWorldObjects(); if (!delete) { return; } SaveFileUtils.DeleteFile(this.Colony.FileInfo.FullName); GenScene.GoToMainMenu(); }, "FilUnderscore.PersistentRimWorlds.Saving.World", false, null); }
public void TDD() //Test Driver Development (Test-Treiber) { var mock = new SaveFileUtils(); mock.Save(null); }
private void DeleteWorld(string worldDir) { SaveFileUtils.DeleteDirectory(worldDir); this.LoadWorldsAsEntries(); }