Fix NPC obstacle handling (#13007)

This commit is contained in:
metalgearsloth
2022-12-15 15:30:28 +11:00
committed by GitHub
parent 6fa2391e42
commit a5b04b49b6
8 changed files with 63 additions and 107 deletions

View File

@@ -8,7 +8,7 @@ using Robust.Shared.Utility;
namespace Content.Server.NPC;
public sealed class NPCBlackboardSerializer : ITypeReader<NPCBlackboard, MappingDataNode>
public sealed class NPCBlackboardSerializer : ITypeReader<NPCBlackboard, MappingDataNode>, ITypeCopier<NPCBlackboard>
{
public ValidationNode Validate(ISerializationManager serializationManager, MappingDataNode node,
IDependencyCollection dependencies, ISerializationContext? context = null)
@@ -79,4 +79,17 @@ public sealed class NPCBlackboardSerializer : ITypeReader<NPCBlackboard, Mapping
return value;
}
public void CopyTo(ISerializationManager serializationManager, NPCBlackboard source, ref NPCBlackboard target, bool skipHook,
ISerializationContext? context = null)
{
target.Clear();
using var enumerator = source.GetEnumerator();
while (enumerator.MoveNext())
{
var current = enumerator.Current;
target.SetValue(current.Key, current.Value);
}
}
}