refactor!: Identifiable interface extracted from IEntity

This commit is contained in:
2025-10-26 22:34:50 +03:00
parent 30a07dd034
commit ac2e160abb
13 changed files with 94 additions and 88 deletions

View File

@@ -17,14 +17,14 @@ public class YamlSerializer : Core.Serialization.ISerializer
private readonly YamlDotNet.Serialization.ISerializer serializer = null!;
private readonly YamlDotNet.Serialization.IDeserializer deserializer = null!;
private readonly EntityRegistry entityRegistry = null!;
private readonly IdentifiableRegistry identifiableRegistry = null!;
private readonly IProgressionTracker progressionTracker = null!;
private readonly System.Threading.Lock Lock = new();
public YamlSerializer()
{
entityRegistry = new();
identifiableRegistry = new();
progressionTracker = new ProgressionTracker();
SerializerBuilder serializerBuilder = new SerializerBuilder()
@@ -37,7 +37,7 @@ public class YamlSerializer : Core.Serialization.ISerializer
foreach (IEngineTypeYamlConverter typeConverter in GetEngineYamlTypeConverters())
{
typeConverter.Serializer = this;
typeConverter.EntityRegistry = entityRegistry;
typeConverter.IdentifiableRegistry = identifiableRegistry;
typeConverter.ProgressionTracker = progressionTracker;
deserializerBuilder = deserializerBuilder.WithTypeConverter(typeConverter);
@@ -66,9 +66,9 @@ public class YamlSerializer : Core.Serialization.ISerializer
{
lock (Lock)
{
entityRegistry.Reset();
identifiableRegistry.Reset();
object result = deserializer.Deserialize(configuration)!;
entityRegistry.AssignAll();
identifiableRegistry.AssignAll();
return result;
}
}
@@ -77,9 +77,9 @@ public class YamlSerializer : Core.Serialization.ISerializer
{
lock (Lock)
{
entityRegistry.Reset();
identifiableRegistry.Reset();
object result = deserializer.Deserialize(configuration, type)!;
entityRegistry.AssignAll();
identifiableRegistry.AssignAll();
return result;
}
}
@@ -88,9 +88,9 @@ public class YamlSerializer : Core.Serialization.ISerializer
{
lock (Lock)
{
entityRegistry.Reset();
identifiableRegistry.Reset();
T result = deserializer.Deserialize<T>(configuration);
entityRegistry.AssignAll();
identifiableRegistry.AssignAll();
return result;
}
}