Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Data/IBaseInfoDefinitions.cs
MapleWheels 30149b504d - Added publicized assemblies to LuaCsForBarotrauma package via ModConfig.xml
- Added XmlAttribute tags for ModConfig.xml defined properties.
- GetType and GetImplementingTypes<T> rework.
2026-02-09 21:32:57 -05:00

66 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
using System.Xml.Serialization;
namespace Barotrauma.LuaCs.Data;
public interface IDependencyInfo
{
/// <summary>
/// List of dependency packages required by this resource.
/// </summary>
ImmutableArray<Identifier> RequiredPackages { get; }
/// <summary>
/// List of packages incompatible with this resource.
/// </summary>
ImmutableArray<Identifier> IncompatiblePackages { get; }
}
public interface IPlatformInfo
{
/// <summary>
/// Platforms that these localization files should be loaded for.
/// </summary>
[Required]
[XmlAttribute("Platform")]
Platform SupportedPlatforms { get; }
/// <summary>
/// Targets that these localization files should be loaded for.
/// </summary>
[Required]
[XmlAttribute("Target")]
Target SupportedTargets { get; }
}
/// <summary>
/// ResourceInfos contain metadata about a resource.
/// </summary>
public interface IResourceInfo : IPlatformInfo
{
/// <summary>
/// [Optional]
/// Specifies the loading order for all assets of the same type (ie. styles, assemblies, etc.) from
/// the same <see cref="ContentPackage"/>. Lower number is higher priority, see <see cref="System.Linq.Enumerable.OrderBy{TSource,TKey}(IEnumerable{TSource}, Func{TSource,TKey})"/>
/// </summary>
[XmlAttribute("LoadPriority")]
int LoadPriority { get; }
/// <summary>
/// Resource absolute file paths.
/// </summary>
[Required]
ImmutableArray<ContentPath> FilePaths { get; }
/// <summary>
/// Marks this resource as optional (ie. Cross-CP content). Setting this to true will allow the dependency system to
/// try and order the loading but not fail if it runs into circular dependency issues.
/// </summary>
[XmlAttribute("Optional")]
bool Optional { get; }
}