Faction Test v1.0.1.0

This commit is contained in:
Regalis11
2023-02-16 15:01:28 +02:00
parent caa5a2f762
commit 2c5a7923b0
309 changed files with 7502 additions and 4335 deletions
@@ -42,7 +42,7 @@ namespace Barotrauma
public readonly Version GameVersion;
public readonly string ModVersion;
public Md5Hash Hash { get; private set; }
public readonly Option<DateTime> InstallTime;
public readonly Option<SerializableDateTime> InstallTime;
public ImmutableArray<ContentFile> Files { get; private set; }
@@ -73,7 +73,7 @@ namespace Barotrauma
Steamworks.Ugc.Item? item = await SteamManager.Workshop.GetItem(steamWorkshopId.Value);
if (item is null) { return true; }
return item.Value.LatestUpdateTime <= installTime;
return item.Value.LatestUpdateTime <= installTime.ToUtcValue();
}
public int Index => ContentPackageManager.EnabledPackages.IndexOf(this);
@@ -106,10 +106,7 @@ namespace Barotrauma
GameVersion = rootElement.GetAttributeVersion("gameversion", GameMain.Version);
ModVersion = rootElement.GetAttributeString("modversion", DefaultModVersion);
UInt64 installTimeUnix = rootElement.GetAttributeUInt64("installtime", 0);
InstallTime = installTimeUnix != 0
? Option<DateTime>.Some(ToolBox.Epoch.ToDateTime(installTimeUnix))
: Option<DateTime>.None();
InstallTime = rootElement.GetAttributeDateTime("installtime");
var fileResults = rootElement.Elements()
.Select(e => ContentFile.CreateFromXElement(this, e))
@@ -288,9 +285,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);
@@ -437,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(