adds custom typeserializers (#3676)

This commit is contained in:
Paul Ritter
2021-03-15 13:25:18 +01:00
committed by GitHub
parent 08f44050fe
commit 9fc03f18f7
3 changed files with 10 additions and 7 deletions

View File

@@ -6,6 +6,7 @@ using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Maths;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
using Robust.Shared.ViewVariables;
namespace Content.Server.GameObjects.Components.Atmos
@@ -18,7 +19,7 @@ namespace Content.Server.GameObjects.Components.Atmos
public override string Name => "Airtight";
[DataFieldWithFlag("airBlockedDirection", typeof(AtmosDirectionFlags))]
[DataField("airBlockedDirection", customTypeSerializer: typeof(FlagSerializer<AtmosDirectionFlags>))]
[ViewVariables]
private int _initialAirBlockedDirection = (int) AtmosDirection.All;

View File

@@ -4,9 +4,11 @@ using System.Collections.Generic;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Log;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using Robust.Shared.Serialization.Manager;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Server.GameObjects.Components.Items.Storage
{
@@ -59,7 +61,7 @@ namespace Content.Server.GameObjects.Components.Items.Storage
[DataDefinition]
public struct StorageFillEntry : IPopulateDefaultValues
{
[DataField("name")]
[DataField("name", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
public string? PrototypeName;
[DataField("prob")]

View File

@@ -90,15 +90,15 @@ namespace Content.YAMLLinter
foreach (var (key, val) in serverErrors)
{
var newErrors = val.Where(n => n.AlwaysRelevant).ToHashSet();
if (clientErrors.TryGetValue(key, out var clientVal))
{
var newErrors = val.Intersect(clientVal).ToHashSet();
newErrors.UnionWith(val.Where(n => n.AlwaysRelevant));
newErrors.UnionWith(val.Intersect(clientVal));
newErrors.UnionWith(clientVal.Where(n => n.AlwaysRelevant));
if (newErrors.Count == 0) continue;
allErrors[key] = newErrors;
}
if (newErrors.Count == 0) continue;
allErrors[key] = newErrors;
}
return allErrors;