From 649e973a151678df8be4de59941e723997b02a54 Mon Sep 17 00:00:00 2001 From: mirrorcult Date: Sun, 25 Jul 2021 03:02:48 -0700 Subject: [PATCH] Fix missing inhands showing an error (#4360) --- Content.Client/Hands/HandsVisualizer.cs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Content.Client/Hands/HandsVisualizer.cs b/Content.Client/Hands/HandsVisualizer.cs index 53a632fc2c..e8291d49ea 100644 --- a/Content.Client/Hands/HandsVisualizer.cs +++ b/Content.Client/Hands/HandsVisualizer.cs @@ -38,19 +38,21 @@ namespace Content.Client.Hands { var rsi = resourceCache.GetResource(SharedSpriteComponent.TextureRoot / hand.RsiPath).RSI; - var layerKey = LocationToLayerKey(hand.Location); - sprite.LayerMapReserveBlank(layerKey); - - var layer = sprite.LayerMapGet(layerKey); - sprite.LayerSetVisible(layer, true); - sprite.LayerSetRSI(layer, rsi); - sprite.LayerSetColor(layer, hand.Color); - var state = $"inhand-{hand.Location.ToString().ToLowerInvariant()}"; if (hand.EquippedPrefix != null) state = $"{hand.EquippedPrefix}-" + state; - sprite.LayerSetState(layer, state); + if (rsi.TryGetState(state, out var _)) + { + var layerKey = LocationToLayerKey(hand.Location); + sprite.LayerMapReserveBlank(layerKey); + + var layer = sprite.LayerMapGet(layerKey); + sprite.LayerSetVisible(layer, true); + sprite.LayerSetRSI(layer, rsi); + sprite.LayerSetColor(layer, hand.Color); + sprite.LayerSetState(layer, state); + } } }