Beispiel #1
0
            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);
            }
Beispiel #2
0
            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);
            }
Beispiel #3
0
            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);
            }
Beispiel #4
0
            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);
            }
Beispiel #5
0
            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);
            }