sources editor
All checks were successful
Build / Compute Version (push) Successful in 6s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 2m13s
Build / Build Nuget package (NuGet) (push) Successful in 2m13s
Build / Build Nuget package (CringePlugins) (push) Successful in 2m55s
Build / Build Nuget package (SharedCringe) (push) Successful in 2m35s
Build / Build Launcher (push) Successful in 3m23s

This commit is contained in:
zznty
2024-11-03 18:07:57 +07:00
parent a243d85146
commit f2d75e5408
6 changed files with 237 additions and 67 deletions

View File

@@ -1,15 +1,29 @@
namespace CringePlugins.Splash;
using NLog;
namespace CringePlugins.Splash;
public class Splash : ISplashProgress
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly List<ILoadingStage> _loadingStages = [];
private ProgressInfo? _lastInfo;
public void Report(ProgressInfo value)
{
_lastInfo = value;
if (value is PercentProgressInfo percentProgressInfo)
Logger.Info("{Text} {Percent:P0}", percentProgressInfo.Text, percentProgressInfo.Percent);
else
Logger.Info("{Text}", value.Text);
}
public void Report(float value)
{
if (_lastInfo is not null)
Logger.Info("{Text} {Percent:P0}", _lastInfo.Text, value);
}
public void DefineStage(ILoadingStage stage) => _loadingStages.Add(stage);
@@ -24,6 +38,7 @@ public class Splash : ISplashProgress
{
// todo sync context
loadingStage.Load(this).AsTask().GetAwaiter().GetResult();
_lastInfo = null;
}
}
}