public override void TryReload(FileSystemWatcherManager sender, FileSystemWatcherManager.ReloadArgs e) { LevelSettings settings = Parent.Settings; if (settings == null) { return; } ImportedGeometryTexture importedGeometryTextureReloaded = new ImportedGeometryTexture(ImportedGeometryTexture.AbsolutePath); Parent.SynchronizationContext.Post(unused => { ImportedGeometryTexture.Assign(importedGeometryTextureReloaded); Parent?.ImportedGeometryTexturesChanged(null, new ChangedEventArgs <ImportedGeometryTexture> { Object = ImportedGeometryTexture }); }, null); }
public override void TryReload(FileSystemWatcherManager sender, FileSystemWatcherManager.ReloadArgs e) { LevelSettings settings = Parent.Settings; if (settings == null) { return; } var textureTemp = (LevelTexture)(Texture.Clone()); textureTemp.Reload(settings); Parent.SynchronizationContext.Post(unused => { Texture.Assign(textureTemp); Parent.TextureChanged(null, new ChangedEventArgs <LevelTexture> { Object = Texture }); }, null); }
public override void TryReload(FileSystemWatcherManager sender, FileSystemWatcherManager.ReloadArgs e) { LevelSettings settings = Parent.Settings; if (settings == null) { return; } ReferencedSoundsCatalog newCatalog = SoundsCatalog.Clone(); newCatalog.Reload(settings); Parent.SynchronizationContext.Post(unused => { SoundsCatalog.Assign(newCatalog); Parent?.SoundsCatalogChanged(null, new ChangedEventArgs <ReferencedSoundsCatalog> { Object = newCatalog }); }, null); }
public override void TryReload(FileSystemWatcherManager sender, FileSystemWatcherManager.ReloadArgs e) { LevelSettings settings = Parent.Settings; if (settings == null) { return; } ReferencedWad newWad = Wad.Clone(); newWad.Reload(settings); Parent.SynchronizationContext.Post(unused => { Wad.Assign(newWad); Parent?.WadChanged(null, new ChangedEventArgs <ReferencedWad> { Object = newWad }); }, null); }
public override void TryReload(FileSystemWatcherManager sender, FileSystemWatcherManager.ReloadArgs e) { LevelSettings settings = Parent.Settings; if (settings == null) { return; } Parent.SynchronizationContext.Send(unused => { // It would be very nice if we could do this concurrently. // However we can't because reloading depends on the entire level settings :( settings.ImportedGeometryUpdate(ImportedGeometry, ImportedGeometry.Info); }, null); Parent.SynchronizationContext.Post(unused => { Parent?.ImportedGeometryChanged(null, new ChangedEventArgs <ImportedGeometry> { Object = ImportedGeometry }); }, null); }