Build 0.21.1.0

This commit is contained in:
Markus Isberg
2023-01-13 18:10:35 +02:00
parent 2f7205fb4b
commit 697ec52120
155 changed files with 2423 additions and 1237 deletions
@@ -288,9 +288,7 @@ namespace Barotrauma
if (errorCatcher.Errors.Any())
{
yield return ContentPackageManager.LoadProgress.Failure(
ContentPackageManager.LoadProgress.Error
.Reason.ConsoleErrorsThrown);
yield return ContentPackageManager.LoadProgress.Failure(errorCatcher.Errors.Select(e => e.Text));
yield break;
}
yield return ContentPackageManager.LoadProgress.Progress((i + indexOffset) / (float)Files.Length);
@@ -23,6 +23,8 @@ namespace Barotrauma
public const string RegularPackagesElementName = "regularpackages";
public const string RegularPackagesSubElementName = "package";
public static bool ModsEnabled => GameMain.VanillaContent == null || EnabledPackages.All.Any(p => p.HasMultiplayerSyncedContent && p != GameMain.VanillaContent);
public static class EnabledPackages
{
public static CorePackage? Core { get; private set; } = null;
@@ -435,22 +437,19 @@ namespace Barotrauma
public readonly record struct LoadProgress(Result<float, LoadProgress.Error> Result)
{
public readonly record struct Error(
Error.Reason ErrorReason,
Option<Exception> Exception)
Either<ImmutableArray<string>, Exception> ErrorsOrException)
{
public enum Reason { Exception, ConsoleErrorsThrown }
public Error(Reason reason) : this(reason, Option.None) { }
public Error(Exception exception) : this(Reason.Exception, Option.Some(exception)) { }
public Error(IEnumerable<string> errorMessages) : this(ErrorsOrException: errorMessages.ToImmutableArray()) { }
public Error(Exception exception) : this(ErrorsOrException: exception) { }
}
public static LoadProgress Failure(Exception exception)
=> new LoadProgress(
Result<float, Error>.Failure(new Error(exception)));
public static LoadProgress Failure(Error.Reason reason)
public static LoadProgress Failure(IEnumerable<string> errorMessages)
=> new LoadProgress(
Result<float, Error>.Failure(new Error(reason)));
Result<float, Error>.Failure(new Error(errorMessages)));
public static LoadProgress Progress(float value)
=> new LoadProgress(
@@ -88,6 +88,7 @@ namespace Barotrauma
public T GetAttributeEnum<T>(string key, in T def) where T : struct, Enum => Element.GetAttributeEnum(key, def);
public (T1, T2) GetAttributeTuple<T1, T2>(string key, in (T1, T2) def) => Element.GetAttributeTuple(key, def);
public (T1, T2)[] GetAttributeTupleArray<T1, T2>(string key, in (T1, T2)[] def) => Element.GetAttributeTupleArray(key, def);
public Range<int> GetAttributeRange(string key, in Range<int> def) => Element.GetAttributeRange(key, def);
public Identifier VariantOf() => Element.VariantOf();