fix: ignore serialization objects being included in serialization fixed

This commit is contained in:
Syntriax 2025-04-25 21:59:56 +03:00
parent b002dd469a
commit 3a0942ff46
2 changed files with 4 additions and 3 deletions

View File

@ -32,7 +32,8 @@ public class BehaviourControllerConverter : IEngineTypeYamlConverter
SerializedClass instanceSerializedClass = (SerializedClass)rootDeserializer(typeof(SerializedClass))!;
behaviourController = (IBehaviourController)instanceSerializedClass.CreateInstance();
if (parser.Consume<Scalar>().Value.CompareTo(nameof(IBehaviourController.StateEnable)) != 0)
string value = parser.Consume<Scalar>().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<IBehaviour>());
serializer(behaviourController.GetBehaviours<IBehaviour>().Where(b => !b.GetType().HasAttribute<IgnoreSerializationAttribute>()));
emitter.Emit(new MappingEnd());
}

View File

@ -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<IgnoreSerializationAttribute>()));
emitter.Emit(new MappingEnd());
}