using System.Collections.Generic; using System.Xml.Linq; using Barotrauma.LuaCs.Data; using FluentResults; namespace Barotrauma.LuaCs.Services.Processing; #region TypeDef // ReSharper disable once TypeParameterCanBeVariant public interface IConverterService : IReusableService { Result TryParseResource(TSrc src); Result TryParseResources(IEnumerable sources); } public interface IXmlResourceConverterService : IConverterService { } public interface IResourceToXmlConverterService : IConverterService { } #endregion /// /// Parses Xml to produce loading metadata info for linked loadable files. /// #region XmlToResourceInfoParsers public interface IXmlAssemblyResConverter : IXmlResourceConverterService { } public interface IXmlConfigResConverterService : IXmlResourceConverterService { } public interface IXmlLocalizationResConverterService : IXmlResourceConverterService { } #endregion /// /// Parses Xml to produce ready-to-use info/data without any additional file/data loading. /// #region XmlToInfoParsers public interface IXmlDependencyConverterService : IXmlResourceConverterService { } public interface IXmlModConfigConverterService : IXmlResourceConverterService { } /// /// Parses legacy packages that make use of the RunConfig.xml structure to produce a ModConfig. /// public interface IXmlLegacyModConfigConverterService : IXmlResourceConverterService { } #endregion #region ResToInfoParsers public interface ILocalizationResToInfoParser : IConverterService { } public interface IConfigResConverterService : IConverterService { } public interface IConfigProfileResConverterService : IConverterService { } #endregion