From 0691d7092c7ffe4340469ff2193e993673ffa2db Mon Sep 17 00:00:00 2001 From: Syntriax Date: Tue, 28 Oct 2025 10:32:01 +0300 Subject: [PATCH] fix: half of the universe objects not getting deserialized because of for loop --- .../Engine.Integration.Yaml/Converters/UniverseConverter.cs | 2 +- .../Converters/UniverseObjectConverter.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Engine.Integration/Engine.Integration.Yaml/Converters/UniverseConverter.cs b/Engine.Integration/Engine.Integration.Yaml/Converters/UniverseConverter.cs index e89e65f..4a21d0e 100644 --- a/Engine.Integration/Engine.Integration.Yaml/Converters/UniverseConverter.cs +++ b/Engine.Integration/Engine.Integration.Yaml/Converters/UniverseConverter.cs @@ -53,7 +53,7 @@ public class UniverseConverter : EngineTypeYamlSerializerBase universe.Assign(stateEnable); ProgressionTracker.Set(isTrackingController ? .9f : ProgressionTracker.Progression, "Registering root universe object"); - for (int i = 0; i < rootUniverseObject.Children.Count; i++) + for (int i = rootUniverseObject.Children.Count - 1; i >= 0; i--) { IUniverseObject uo = rootUniverseObject.Children[i]; ProgressionTracker.Set(isTrackingController ? .9f + .1f * ((float)i / rootUniverseObject.Children.Count) : ProgressionTracker.Progression, $"Registering {uo.Name}"); diff --git a/Engine.Integration/Engine.Integration.Yaml/Converters/UniverseObjectConverter.cs b/Engine.Integration/Engine.Integration.Yaml/Converters/UniverseObjectConverter.cs index 0c7f919..47d8513 100644 --- a/Engine.Integration/Engine.Integration.Yaml/Converters/UniverseObjectConverter.cs +++ b/Engine.Integration/Engine.Integration.Yaml/Converters/UniverseObjectConverter.cs @@ -97,7 +97,7 @@ public class UniverseObjectSerializer : EngineTypeYamlSerializerBase !c.GetType().HasAttribute()).Reverse()); + serializer(universeObject.Children.Where(c => !c.GetType().HasAttribute())); ProgressionTracker.Set(isTrackingController ? 1f : ProgressionTracker.Progression, $"Serializing universe object"); emitter.Emit(new MappingEnd());