Refactor beatmap import secondary process

Doesn't launch a new game window and now supports several files at once.
This commit is contained in:
Drew DeVault
2016-10-14 14:10:01 -04:00
parent 9426629853
commit 8e31965fb4
3 changed files with 23 additions and 18 deletions

View File

@ -2,6 +2,9 @@
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using System;
using System.IO;
using System.Linq;
using osu.Framework;
using osu.Framework.Desktop;
using osu.Framework.Platform;
using osu.Game;
@ -11,11 +14,22 @@ namespace osu.Desktop
public static class Program
{
[STAThread]
public static void Main(string[] args)
public static int Main(string[] args)
{
BasicGameHost host = Host.GetSuitableHost(@"osu");
host.Add(new OsuGame(args));
BaseGame osuGame = new OsuGame();
if (args.Length != 0 && args.All(File.Exists))
{
host.Load(osuGame);
var beatmapIPC = new IpcChannel<OsuGame.ImportBeatmap>(host);
foreach (var file in args)
beatmapIPC.SendMessage(new OsuGame.ImportBeatmap { Path = file }).Wait();
Console.WriteLine(@"Sent file to running instance");
return 0;
}
host.Add(osuGame);
host.Run();
return 0;
}
}
}