Make MappingDataNode use string keys (#36111)
* MappingDataNode string keys * a * poke
This commit is contained in:
@@ -25,7 +25,7 @@ public sealed partial class TileAtmosCollectionSerializer : ITypeSerializer<Dict
|
||||
SerializationHookContext hookCtx, ISerializationContext? context = null,
|
||||
ISerializationManager.InstantiationDelegate<Dictionary<Vector2i, TileAtmosphere>>? instanceProvider = null)
|
||||
{
|
||||
node.TryGetValue(new ValueDataNode("version"), out var versionNode);
|
||||
node.TryGetValue("version", out var versionNode);
|
||||
var version = ((ValueDataNode?) versionNode)?.AsInt() ?? 1;
|
||||
Dictionary<Vector2i, TileAtmosphere> tiles = new();
|
||||
|
||||
@@ -59,7 +59,7 @@ public sealed partial class TileAtmosCollectionSerializer : ITypeSerializer<Dict
|
||||
var dataNode = (MappingDataNode) node["data"];
|
||||
var chunkSize = serializationManager.Read<int>(dataNode["chunkSize"], hookCtx, context);
|
||||
|
||||
dataNode.TryGetValue(new ValueDataNode("uniqueMixes"), out var mixNode);
|
||||
dataNode.TryGet("uniqueMixes", out var mixNode);
|
||||
var unique = mixNode == null ? null : serializationManager.Read<List<GasMixture>?>(mixNode, hookCtx, context);
|
||||
|
||||
if (unique != null)
|
||||
@@ -67,7 +67,7 @@ public sealed partial class TileAtmosCollectionSerializer : ITypeSerializer<Dict
|
||||
var tileNode = (MappingDataNode) dataNode["tiles"];
|
||||
foreach (var (chunkNode, valueNode) in tileNode)
|
||||
{
|
||||
var chunkOrigin = serializationManager.Read<Vector2i>(chunkNode, hookCtx, context);
|
||||
var chunkOrigin = serializationManager.Read<Vector2i>(tileNode.GetKeyNode(chunkNode), hookCtx, context);
|
||||
var chunk = serializationManager.Read<TileAtmosChunk>(valueNode, hookCtx, context);
|
||||
|
||||
foreach (var (mix, data) in chunk.Data)
|
||||
|
||||
Reference in New Issue
Block a user