refactor!: Identifiable interface extracted from IEntity
This commit is contained in:
@@ -8,6 +8,6 @@ namespace Engine.Serializers.Yaml;
|
||||
public interface IEngineTypeYamlConverter : IYamlTypeConverter
|
||||
{
|
||||
YamlSerializer Serializer { get; set; }
|
||||
EntityRegistry EntityRegistry { get; set; }
|
||||
IdentifiableRegistry IdentifiableRegistry { get; set; }
|
||||
IProgressionTracker ProgressionTracker { get; set; }
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ public class BehaviourControllerConverter : EngineTypeYamlSerializerBase<IBehavi
|
||||
throw new();
|
||||
SerializedClass instanceSerializedClass = (SerializedClass)rootDeserializer(typeof(SerializedClass))!;
|
||||
ProgressionTracker.Set(isTrackingController ? .5f : ProgressionTracker.Progression, $"Creating {instanceSerializedClass.Type}");
|
||||
behaviourController = (IBehaviourController)instanceSerializedClass.CreateInstance(EntityRegistry);
|
||||
behaviourController = (IBehaviourController)instanceSerializedClass.CreateInstance(IdentifiableRegistry);
|
||||
|
||||
string value = parser.Consume<Scalar>().Value;
|
||||
if (value.CompareTo(nameof(IBehaviourController.StateEnable)) != 0)
|
||||
|
||||
@@ -36,7 +36,7 @@ public class BehaviourConverter : EngineTypeYamlSerializerBase<IBehaviour>
|
||||
throw new();
|
||||
SerializedClass instanceSerializedClass = (SerializedClass)rootDeserializer(typeof(SerializedClass))!;
|
||||
ProgressionTracker.Set(isTrackingController ? .5f : ProgressionTracker.Progression, $"Creating {instanceSerializedClass.Type}");
|
||||
behaviour = (IBehaviour)instanceSerializedClass.CreateInstance(EntityRegistry);
|
||||
behaviour = (IBehaviour)instanceSerializedClass.CreateInstance(IdentifiableRegistry);
|
||||
|
||||
if (parser.Consume<Scalar>().Value.CompareTo(nameof(IBehaviour.StateEnable)) != 0)
|
||||
throw new();
|
||||
|
||||
@@ -12,7 +12,7 @@ public abstract class EngineTypeYamlSerializerBase<T> : IEngineTypeYamlConverter
|
||||
{
|
||||
protected const string SERIALIZED_SCALAR_NAME = "Properties";
|
||||
|
||||
public EntityRegistry EntityRegistry { get; set; } = null!;
|
||||
public IdentifiableRegistry IdentifiableRegistry { get; set; } = null!;
|
||||
public YamlSerializer Serializer { get; set; } = null!;
|
||||
public IProgressionTracker ProgressionTracker { get; set; } = null!;
|
||||
|
||||
@@ -24,7 +24,7 @@ public abstract class EngineTypeYamlSerializerBase<T> : IEngineTypeYamlConverter
|
||||
T? result = Read(parser, type, rootDeserializer);
|
||||
|
||||
if (result is IEntity entity)
|
||||
EntityRegistry.Add(entity);
|
||||
IdentifiableRegistry.Add(entity);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ public class StateEnableConverter : EngineTypeYamlSerializerBase<IStateEnable>
|
||||
if (parser.Consume<Scalar>().Value.CompareTo(SERIALIZED_SCALAR_NAME) != 0)
|
||||
throw new();
|
||||
SerializedClass instanceSerializedClass = (SerializedClass)rootDeserializer(typeof(SerializedClass))!;
|
||||
stateEnable = (IStateEnable)instanceSerializedClass.CreateInstance(EntityRegistry);
|
||||
stateEnable = (IStateEnable)instanceSerializedClass.CreateInstance(IdentifiableRegistry);
|
||||
|
||||
parser.Consume<MappingEnd>();
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ public class UniverseObjectSerializer : EngineTypeYamlSerializerBase<IUniverseOb
|
||||
throw new();
|
||||
SerializedClass instanceSerializedClass = (SerializedClass)rootDeserializer(typeof(SerializedClass))!;
|
||||
ProgressionTracker.Set(isTrackingController ? .3f : ProgressionTracker.Progression, $"Creating {instanceSerializedClass.Type}");
|
||||
universeObject = (IUniverseObject)instanceSerializedClass.CreateInstance(EntityRegistry);
|
||||
universeObject = (IUniverseObject)instanceSerializedClass.CreateInstance(IdentifiableRegistry);
|
||||
|
||||
if (parser.Consume<Scalar>().Value.CompareTo(nameof(IUniverseObject.StateEnable)) != 0)
|
||||
throw new();
|
||||
|
||||
Reference in New Issue
Block a user