using System; using MfGames.Gallium; using MfGames.Nitride.Contents; using YamlDotNet.Serialization; namespace MfGames.Nitride.Yaml; public static class NitrideYamlEntityExtensions { /// /// Parses the entity text as a YAML file and returns the results. /// public static TType? GetYaml( this Entity entity, Action? configure = null) { DeserializerBuilder builder = new(); configure?.Invoke(builder); IDeserializer deserializer = builder.Build(); return entity.GetYaml(deserializer); } /// /// Parses the entity text as a YAML file and returns the results. /// public static TType? GetYaml( this Entity entity, IDeserializer deserializer) { string? text = entity.GetText(); return text != null ? deserializer.Deserialize(text) : default; } }