refactor!: Identifiable interface extracted from IEntity
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user