serv4 + submodule update (#12740)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
This commit is contained in:
@@ -6,7 +6,7 @@ using Robust.Shared.Serialization.TypeSerializers.Interfaces;
|
||||
|
||||
namespace Content.Server.Atmos.Serialization;
|
||||
|
||||
public sealed class TileAtmosCollectionSerializer : ITypeSerializer<Dictionary<Vector2i, TileAtmosphere>, MappingDataNode>
|
||||
public sealed class TileAtmosCollectionSerializer : ITypeSerializer<Dictionary<Vector2i, TileAtmosphere>, MappingDataNode>, ITypeCopier<Dictionary<Vector2i, TileAtmosphere>>
|
||||
{
|
||||
public ValidationNode Validate(ISerializationManager serializationManager, MappingDataNode node,
|
||||
IDependencyCollection dependencies, ISerializationContext? context = null)
|
||||
@@ -14,8 +14,10 @@ public sealed class TileAtmosCollectionSerializer : ITypeSerializer<Dictionary<V
|
||||
return serializationManager.ValidateNode<TileAtmosData>(node, context);
|
||||
}
|
||||
|
||||
public Dictionary<Vector2i, TileAtmosphere> Read(ISerializationManager serializationManager, MappingDataNode node, IDependencyCollection dependencies,
|
||||
bool skipHook, ISerializationContext? context = null, Dictionary<Vector2i, TileAtmosphere>? value = default)
|
||||
public Dictionary<Vector2i, TileAtmosphere> Read(ISerializationManager serializationManager, MappingDataNode node,
|
||||
IDependencyCollection dependencies,
|
||||
bool skipHook, ISerializationContext? context = null,
|
||||
ISerializationManager.InstantiationDelegate<Dictionary<Vector2i, TileAtmosphere>>? instanceProvider = null)
|
||||
{
|
||||
var data = serializationManager.Read<TileAtmosData>(node, context, skipHook);
|
||||
var tiles = new Dictionary<Vector2i, TileAtmosphere>();
|
||||
@@ -72,13 +74,6 @@ public sealed class TileAtmosCollectionSerializer : ITypeSerializer<Dictionary<V
|
||||
}, alwaysWrite, context);
|
||||
}
|
||||
|
||||
public Dictionary<Vector2i, TileAtmosphere> Copy(ISerializationManager serializationManager, Dictionary<Vector2i, TileAtmosphere> source, Dictionary<Vector2i, TileAtmosphere> target, bool skipHook,
|
||||
ISerializationContext? context = null)
|
||||
{
|
||||
serializationManager.Copy(source, ref target, context, skipHook);
|
||||
return target;
|
||||
}
|
||||
|
||||
[DataDefinition]
|
||||
private struct TileAtmosData
|
||||
{
|
||||
@@ -86,4 +81,20 @@ public sealed class TileAtmosCollectionSerializer : ITypeSerializer<Dictionary<V
|
||||
|
||||
[DataField("tiles")] public Dictionary<Vector2i, int>? TilesUniqueMixes;
|
||||
}
|
||||
|
||||
public void CopyTo(ISerializationManager serializationManager, Dictionary<Vector2i, TileAtmosphere> source, ref Dictionary<Vector2i, TileAtmosphere> target, bool skipHook,
|
||||
ISerializationContext? context = null)
|
||||
{
|
||||
target.Clear();
|
||||
foreach (var (key, val) in source)
|
||||
{
|
||||
target.Add(key,
|
||||
new TileAtmosphere(
|
||||
val.GridIndex,
|
||||
val.GridIndices,
|
||||
val.Air?.Clone(),
|
||||
val.Air?.Immutable ?? false,
|
||||
val.Space));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user