Validate that client prototypes are serializable (#18780)
This commit is contained in:
@@ -28,19 +28,12 @@ public sealed class AtmosPipeAppearanceSystem : EntitySystem
|
||||
if (!TryComp(uid, out SpriteComponent? sprite))
|
||||
return;
|
||||
|
||||
if (!_resCache.TryGetResource(SpriteSpecifierSerializer.TextureRoot / component.RsiPath, out RSIResource? rsi))
|
||||
{
|
||||
Logger.Error($"{nameof(AtmosPipeAppearanceSystem)} could not load to load RSI {component.RsiPath}.");
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
|
||||
{
|
||||
sprite.LayerMapReserveBlank(layerKey);
|
||||
var layer = sprite.LayerMapGet(layerKey);
|
||||
sprite.LayerSetRSI(layer, rsi.RSI);
|
||||
var layerState = component.State;
|
||||
sprite.LayerSetState(layer, layerState);
|
||||
sprite.LayerSetRSI(layer, component.Sprite.RsiPath);
|
||||
sprite.LayerSetState(layer, component.Sprite.RsiState);
|
||||
sprite.LayerSetDirOffset(layer, ToOffset(layerKey));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Content.Client.Chemistry.Visualizers
|
||||
[DataField("metamorphic")]
|
||||
public bool Metamorphic = false;
|
||||
[DataField("metamorphicDefaultSprite")]
|
||||
public SpriteSpecifier MetamorphicDefaultSprite = SpriteSpecifier.Invalid;
|
||||
public SpriteSpecifier? MetamorphicDefaultSprite;
|
||||
[DataField("metamorphicNameFull")]
|
||||
public string MetamorphicNameFull = "transformable-container-component-glass";
|
||||
|
||||
@@ -41,9 +41,12 @@ namespace Content.Client.Chemistry.Visualizers
|
||||
/// If not set, will work as default.
|
||||
/// </summary>
|
||||
[DataField("solutionName")]
|
||||
public string SolutionName = "";
|
||||
public string? SolutionName;
|
||||
|
||||
[DataField("initialName")]
|
||||
public string InitialName = string.Empty;
|
||||
|
||||
[DataField("initialDescription")]
|
||||
public string InitialDescription = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,8 @@ public sealed class SolutionContainerVisualsSystem : VisualizerSystem<SolutionCo
|
||||
{
|
||||
if (hasOverlay)
|
||||
args.Sprite.LayerSetVisible(overlayLayer, true);
|
||||
args.Sprite.LayerSetSprite(baseLayer, component.MetamorphicDefaultSprite);
|
||||
if (component.MetamorphicDefaultSprite != null)
|
||||
args.Sprite.LayerSetSprite(baseLayer, component.MetamorphicDefaultSprite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user