diff --git a/PDGServer_WPF/ConnectionPage.xaml.cs b/PDGServer_WPF/ConnectionPage.xaml.cs index 8e1cdab..9cfc60a 100644 --- a/PDGServer_WPF/ConnectionPage.xaml.cs +++ b/PDGServer_WPF/ConnectionPage.xaml.cs @@ -114,6 +114,7 @@ namespace RBG_Server_WPF // Load sprites as they arrive if (e.CurrentActivity == CommunicationHandler.ProgressData.Activity.ImageDownloaded) { + Dispatcher.Invoke(() => StatusTextBlock.Text = $"Downloaded {e.Progress} of {App.Context.GameCommunicationHandler.ImageList.Count} images."); App.Context.GameCommunicationHandler.ImageCollection.TryGetValue(e.Message, out CachedByteArray cachedByteArray); BitmapImage image = new(); @@ -124,19 +125,29 @@ namespace RBG_Server_WPF { Source = image }; - LoadedSpriteGrid loadedSprite = null; - foreach (LoadedSpriteGrid item in ClientLoadedSprites.Children) + if (e.Message == App.Context.GameCommunicationHandler.BoardName) { - if (item.Equals(e.Message)) - { - loadedSprite = item; - break; - } + // Image is the board image + Dispatcher.Invoke(() =>BoardPreviewImage.Source = image); } - if (loadedSprite == null) loadedSprite = new LoadedSpriteGrid(spriteImage, e.Message); + else + { + // Image is a sprite, load it + LoadedSpriteGrid loadedSprite = null; + foreach (LoadedSpriteGrid item in ClientLoadedSprites.Children) + { + if (item.Equals(e.Message)) + { + loadedSprite = item; + break; + } + } + if (loadedSprite == null) loadedSprite = new LoadedSpriteGrid(spriteImage, e.Message); - // Add the loaded image into the view - Dispatcher.Invoke(() => ClientLoadedSprites.Children.Add(loadedSprite)); + // Add the loaded image into the view + Dispatcher.Invoke(() => ClientLoadedSprites.Children.Add(loadedSprite)); + } + } }