private static EntityComponent DeserializeComponent(ReloadedComponentEntryLive reloadedComponent) { var eventReader = new EventReader(new MemoryParser(reloadedComponent.YamlEvents)); var components = new EntityComponentCollection(); // Use the newly created component during second pass for proper cycle deserialization var newComponent = reloadedComponent.NewComponent; if (newComponent is not null) { components.Add(newComponent); } // Try to create component first AssetYamlSerializer.Default.Deserialize(eventReader, components, typeof(EntityComponentCollection), out _); var component = components.Count == 1 ? components[0] : null; return(component); }
private static EntityComponent DeserializeComponent(ReloadedComponentEntryLive reloadedComponent) { var eventReader = new EventReader(new MemoryParser(reloadedComponent.YamlEvents)); var components = new EntityComponentCollection(); // Use the newly created component during second pass for proper cycle deserialization var newComponent = reloadedComponent.NewComponent; if (newComponent != null) components.Add(newComponent); // Try to create component first YamlSerializer.Deserialize(eventReader, components, typeof(EntityComponentCollection)); var component = components.Count == 1 ? components[0] : null; return component; }