mirror of
https://github.com/ppy/osu.git
synced 2025-01-13 14:12:56 +08:00
Allow multiple instances of osu! when running under debug (#5436)
Allow multiple instances of osu! when running under debug Co-authored-by: Dan Balasescu <1329837+smoogipoo@users.noreply.github.com>
This commit is contained in:
commit
233ba71d2d
@ -29,29 +29,36 @@ namespace osu.Desktop
|
|||||||
|
|
||||||
if (!host.IsPrimaryInstance)
|
if (!host.IsPrimaryInstance)
|
||||||
{
|
{
|
||||||
var importer = new ArchiveImportIPCChannel(host);
|
if (args.Length > 0 && args[0].Contains('.')) // easy way to check for a file import in args
|
||||||
// Restore the cwd so relative paths given at the command line work correctly
|
|
||||||
Directory.SetCurrentDirectory(cwd);
|
|
||||||
|
|
||||||
foreach (var file in args)
|
|
||||||
{
|
{
|
||||||
Console.WriteLine(@"Importing {0}", file);
|
var importer = new ArchiveImportIPCChannel(host);
|
||||||
if (!importer.ImportAsync(Path.GetFullPath(file)).Wait(3000))
|
// Restore the cwd so relative paths given at the command line work correctly
|
||||||
throw new TimeoutException(@"IPC took too long to send");
|
Directory.SetCurrentDirectory(cwd);
|
||||||
|
|
||||||
|
foreach (var file in args)
|
||||||
|
{
|
||||||
|
Console.WriteLine(@"Importing {0}", file);
|
||||||
|
if (!importer.ImportAsync(Path.GetFullPath(file)).Wait(3000))
|
||||||
|
throw new TimeoutException(@"IPC took too long to send");
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// we want to allow multiple instances to be started when in debug.
|
||||||
|
if (!DebugUtils.IsDebugBuild)
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
switch (args.FirstOrDefault() ?? string.Empty)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
host.Run(new OsuGameDesktop(args));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "--tournament":
|
switch (args.FirstOrDefault() ?? string.Empty)
|
||||||
host.Run(new TournamentGame());
|
{
|
||||||
break;
|
default:
|
||||||
}
|
host.Run(new OsuGameDesktop(args));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "--tournament":
|
||||||
|
host.Run(new TournamentGame());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -20,6 +20,7 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using osu.Framework.Audio;
|
using osu.Framework.Audio;
|
||||||
using osu.Framework.Bindables;
|
using osu.Framework.Bindables;
|
||||||
|
using osu.Framework.Development;
|
||||||
using osu.Framework.Extensions.IEnumerableExtensions;
|
using osu.Framework.Extensions.IEnumerableExtensions;
|
||||||
using osu.Framework.Graphics.Sprites;
|
using osu.Framework.Graphics.Sprites;
|
||||||
using osu.Framework.Input;
|
using osu.Framework.Input;
|
||||||
@ -153,7 +154,7 @@ namespace osu.Game
|
|||||||
{
|
{
|
||||||
this.frameworkConfig = frameworkConfig;
|
this.frameworkConfig = frameworkConfig;
|
||||||
|
|
||||||
if (!Host.IsPrimaryInstance)
|
if (!Host.IsPrimaryInstance && !DebugUtils.IsDebugBuild)
|
||||||
{
|
{
|
||||||
Logger.Log(@"osu! does not support multiple running instances.", LoggingTarget.Runtime, LogLevel.Error);
|
Logger.Log(@"osu! does not support multiple running instances.", LoggingTarget.Runtime, LogLevel.Error);
|
||||||
Environment.Exit(0);
|
Environment.Exit(0);
|
||||||
|
Loading…
Reference in New Issue
Block a user