From 3a0942ff46f5fb5981e2de78c37cb386447b6614 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Fri, 25 Apr 2025 21:59:56 +0300 Subject: [PATCH] fix: ignore serialization objects being included in serialization fixed --- .../Converters/BehaviourControllerConverter.cs | 5 +++-- Engine.Serialization/Converters/UniverseObjectConverter.cs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Engine.Serialization/Converters/BehaviourControllerConverter.cs b/Engine.Serialization/Converters/BehaviourControllerConverter.cs index 4ac0f45..4fb0f30 100644 --- a/Engine.Serialization/Converters/BehaviourControllerConverter.cs +++ b/Engine.Serialization/Converters/BehaviourControllerConverter.cs @@ -32,7 +32,8 @@ public class BehaviourControllerConverter : IEngineTypeYamlConverter SerializedClass instanceSerializedClass = (SerializedClass)rootDeserializer(typeof(SerializedClass))!; behaviourController = (IBehaviourController)instanceSerializedClass.CreateInstance(); - if (parser.Consume().Value.CompareTo(nameof(IBehaviourController.StateEnable)) != 0) + string value = parser.Consume().Value; + if (value.CompareTo(nameof(IBehaviourController.StateEnable)) != 0) throw new(); stateEnable = (IStateEnable)rootDeserializer(typeof(IStateEnable))!; @@ -69,7 +70,7 @@ public class BehaviourControllerConverter : IEngineTypeYamlConverter serializer(behaviourController.StateEnable); emitter.Emit(new Scalar(BEHAVIOURS_SCALAR_NAME)); - serializer(behaviourController.GetBehaviours()); + serializer(behaviourController.GetBehaviours().Where(b => !b.GetType().HasAttribute())); emitter.Emit(new MappingEnd()); } diff --git a/Engine.Serialization/Converters/UniverseObjectConverter.cs b/Engine.Serialization/Converters/UniverseObjectConverter.cs index 8a5bc30..1a12a83 100644 --- a/Engine.Serialization/Converters/UniverseObjectConverter.cs +++ b/Engine.Serialization/Converters/UniverseObjectConverter.cs @@ -88,7 +88,7 @@ public class UniverseObjectConverter : IEngineTypeYamlConverter serializer(universeObject.BehaviourController); emitter.Emit(new Scalar(nameof(IUniverseObject.Children))); - serializer(universeObject.Children); + serializer(universeObject.Children.Where(c => !c.GetType().HasAttribute())); emitter.Emit(new MappingEnd()); }