[Save/Sync] In-Progress ModConfigXml loading rewrite.

+ Fixed async operations lock for Dispose() pattern in working files.
+ Rewrote StorageService.cs:
--- Now uses ContentPath instead of raw strings where possible.
--- Now throws exceptions for developer errors and critical program states.
+ Rewrote ModConfigService.cs:
--- All functions are now completely async.
+ Removed ConfigProfilesResources completely as they exist in common Config xml files.
+ Somewhat simplified package data and processes.
This commit is contained in:
MapleWheels
2026-01-08 11:35:34 -05:00
committed by Maplewheels
parent 42acb32c69
commit 3e81e27160
15 changed files with 651 additions and 347 deletions
@@ -1,18 +1,18 @@
using System.Collections.Immutable;
using System.Diagnostics.CodeAnalysis;
using System.Xml.Linq;
namespace Barotrauma.LuaCs.Data;
public partial interface IModConfigInfo : IAssembliesResourcesInfo,
ILuaScriptsResourcesInfo, IConfigsResourcesInfo,
IConfigProfilesResourcesInfo
ILuaScriptsResourcesInfo, IConfigsResourcesInfo
{
// package info
ContentPackage Package { get; }
}
public record ResourceParserInfo(
ContentPackage Owner,
XElement Element,
[NotNull] ContentPackage Owner,
[NotNull] XElement Element,
ImmutableArray<Identifier> Required,
ImmutableArray<Identifier> Incompatible);