Example #1
0
        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);
        }
Example #2
0
        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;
        }