Fix missing inhands showing an error (#4360)

This commit is contained in:
mirrorcult
2021-07-25 03:02:48 -07:00
committed by GitHub
parent ffee1482d9
commit 649e973a15

View File

@@ -38,6 +38,12 @@ namespace Content.Client.Hands
{ {
var rsi = resourceCache.GetResource<RSIResource>(SharedSpriteComponent.TextureRoot / hand.RsiPath).RSI; var rsi = resourceCache.GetResource<RSIResource>(SharedSpriteComponent.TextureRoot / hand.RsiPath).RSI;
var state = $"inhand-{hand.Location.ToString().ToLowerInvariant()}";
if (hand.EquippedPrefix != null)
state = $"{hand.EquippedPrefix}-" + state;
if (rsi.TryGetState(state, out var _))
{
var layerKey = LocationToLayerKey(hand.Location); var layerKey = LocationToLayerKey(hand.Location);
sprite.LayerMapReserveBlank(layerKey); sprite.LayerMapReserveBlank(layerKey);
@@ -45,14 +51,10 @@ namespace Content.Client.Hands
sprite.LayerSetVisible(layer, true); sprite.LayerSetVisible(layer, true);
sprite.LayerSetRSI(layer, rsi); sprite.LayerSetRSI(layer, rsi);
sprite.LayerSetColor(layer, hand.Color); sprite.LayerSetColor(layer, hand.Color);
var state = $"inhand-{hand.Location.ToString().ToLowerInvariant()}";
if (hand.EquippedPrefix != null)
state = $"{hand.EquippedPrefix}-" + state;
sprite.LayerSetState(layer, state); sprite.LayerSetState(layer, state);
} }
} }
}
private string LocationToLayerKey(HandLocation location) private string LocationToLayerKey(HandLocation location)
{ {