Fix sprites with no frames crashing AssetBrowser

This commit is contained in:
penev92
2023-02-20 14:21:11 +02:00
committed by Gustas
parent 807bd4d06a
commit bb8e6ab03c

View File

@@ -129,7 +129,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var spriteWidget = panel.GetOrNull<SpriteWidget>("SPRITE"); var spriteWidget = panel.GetOrNull<SpriteWidget>("SPRITE");
if (spriteWidget != null) if (spriteWidget != null)
{ {
spriteWidget.GetSprite = () => currentSprites?[currentFrame]; spriteWidget.GetSprite = () => currentSprites?.Length > 0 ? currentSprites[currentFrame] : null;
currentPalette = spriteWidget.Palette; currentPalette = spriteWidget.Palette;
spriteScale = spriteWidget.Scale; spriteScale = spriteWidget.Scale;
spriteWidget.GetPalette = () => currentPalette; spriteWidget.GetPalette = () => currentPalette;
@@ -508,7 +508,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
currentSprites = world.Map.Rules.Sequences.SpriteCache[prefix + filename]; currentSprites = world.Map.Rules.Sequences.SpriteCache[prefix + filename];
currentFrame = 0; currentFrame = 0;
if (frameSlider != null) if (frameSlider != null && currentSprites?.Length > 0)
{ {
frameSlider.MaximumValue = (float)currentSprites.Length - 1; frameSlider.MaximumValue = (float)currentSprites.Length - 1;
frameSlider.Ticks = currentSprites.Length; frameSlider.Ticks = currentSprites.Length;