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()); }