ReplaceRegexInFiles("./src/**/*.props", @"<Version>.*?<\/Version>", "<Version>" + buildVersion + "</Version>");
});
+Task("Replay")
+ .Does(() => {
+ // D:\Projects\GitHub\Impostor\Impostor\src\Impostor.Tools.ServerReplay\sessions
+ DotNetCoreRun(
+ "./src/Impostor.Tools.ServerReplay/Impostor.Tools.ServerReplay.csproj",
+ "./src/Impostor.Tools.ServerReplay/sessions", new DotNetCoreRunSettings {
+ Configuration = configuration,
+ NoRestore = true,
+ Framework = "net5.0"
+ });
+ });
+
Task("Build")
.IsDependentOn("Clean")
.IsDependentOn("Patch")
.IsDependentOn("Restore")
+ .IsDependentOn("Replay")
.Does(() => {
// Tests.
DotNetCoreBuild("./src/Impostor.Tests/Impostor.Tests.csproj", new DotNetCoreBuildSettings {
using Impostor.Api.Net.Messages;
using Impostor.Api.Net.Messages.C2S;
using Impostor.Hazel;
+using Impostor.Hazel.Extensions;
using Impostor.Server.Events;
using Impostor.Server.Net;
using Impostor.Server.Net.Factories;
{
internal static class Program
{
- private const string GameRecorderPath = "C:\\DevData\\ImpostorSessions";
-
private static readonly ILogger Logger = Log.ForContext(typeof(Program));
private static readonly Dictionary<int, IHazelConnection> Connections = new Dictionary<int, IHazelConnection>();
private static readonly Dictionary<int, GameOptionsData> GameOptions = new Dictionary<int, GameOptionsData>();
var stopwatch = Stopwatch.StartNew();
- // Create service provider.
- _serviceProvider = BuildServices();
+ foreach (var file in Directory.GetFiles(args[0]))
+ {
+ // Clear.
+ Connections.Clear();
+ GameOptions.Clear();
- // Create required instances.
- _readerPool = _serviceProvider.GetRequiredService<ObjectPool<MessageReader>>();
- _gameCodeFactory = _serviceProvider.GetRequiredService<MockGameCodeFactory>();
- _clientManager = _serviceProvider.GetRequiredService<ClientManager>();
- _gameManager = _serviceProvider.GetRequiredService<GameManager>();
+ // Create service provider.
+ _serviceProvider = BuildServices();
+
+ // Create required instances.
+ _readerPool = _serviceProvider.GetRequiredService<ObjectPool<MessageReader>>();
+ _gameCodeFactory = _serviceProvider.GetRequiredService<MockGameCodeFactory>();
+ _clientManager = _serviceProvider.GetRequiredService<ClientManager>();
+ _gameManager = _serviceProvider.GetRequiredService<GameManager>();
- foreach (var file in Directory.GetFiles(GameRecorderPath))
- {
await using (var stream = File.Open(file, FileMode.Open, FileAccess.Read, FileShare.Read))
using (var reader = new BinaryReader(stream))
{
services.AddSingleton<INodeLocator, NodeLocatorNoOp>();
services.AddSingleton<IEventManager, EventManager>();
+ services.AddHazel();
+
return services.BuildServiceProvider();
}