Remove string appearance keys (#10114)

This commit is contained in:
Leon Friedrich
2022-08-08 13:44:16 +12:00
committed by GitHub
parent 1783dd82e7
commit 193b9f467d
14 changed files with 56 additions and 54 deletions

View File

@@ -82,7 +82,7 @@ namespace Content.Client.Damage
/// completely invisible.
/// </remarks>
[DataField("targetLayers")]
private List<string>? _targetLayers;
private List<Enum>? _targetLayers;
/// <summary>
/// The actual sprites for every damage group
@@ -383,18 +383,8 @@ namespace Content.Client.Damage
//
// If the layer doesn't have a base state, or
// the layer key just doesn't exist, we skip it.
foreach (var keyString in _targetLayers)
foreach (var key in _targetLayers)
{
object key;
if (IoCManager.Resolve<IReflectionManager>().TryParseEnumReference(keyString, out var @enum))
{
key = @enum;
}
else
{
key = keyString;
}
if (!spriteComponent.LayerMapTryGet(key, out int index)
|| spriteComponent.LayerGetState(index).ToString() == null)
{
@@ -562,20 +552,11 @@ namespace Content.Client.Damage
/// </summary>
private void UpdateDisabledLayers(SpriteComponent spriteComponent, AppearanceComponent component, DamageVisualizerDataComponent damageData)
{
foreach (object layer in damageData.TargetLayerMapKeys)
foreach (var layer in damageData.TargetLayerMapKeys)
{
bool? layerStatus = null;
switch (layer)
{
case Enum layerEnum:
if (component.TryGetData<bool>(layerEnum, out var layerStateEnum))
layerStatus = layerStateEnum;
break;
case string layerString:
if (component.TryGetData<bool>(layerString, out var layerStateString))
layerStatus = layerStateString;
break;
}
if (component.TryGetData<bool>(layer, out var layerStateEnum))
layerStatus = layerStateEnum;
if (layerStatus == null)
continue;