mirror of
https://github.com/ppy/osu
synced 2025-01-11 08:39:31 +00:00
removed redundant code and use existing checkExists
This commit is contained in:
parent
a5c2f97a76
commit
d2416ce30d
@ -167,7 +167,7 @@ namespace osu.Game.Tournament.IPC
|
||||
{
|
||||
List<Func<string>> stableFindMethods = new List<Func<string>>
|
||||
{
|
||||
findFromJsonConfig,
|
||||
readFromStableInfo,
|
||||
findFromEnvVar,
|
||||
findFromRegistry,
|
||||
findFromLocalAppData,
|
||||
@ -180,6 +180,7 @@ namespace osu.Game.Tournament.IPC
|
||||
|
||||
if (stableInstallPath != null)
|
||||
{
|
||||
saveStablePath(stableInstallPath);
|
||||
return stableInstallPath;
|
||||
}
|
||||
}
|
||||
@ -192,8 +193,10 @@ namespace osu.Game.Tournament.IPC
|
||||
}
|
||||
}
|
||||
|
||||
private void saveStablePath()
|
||||
private void saveStablePath(string path)
|
||||
{
|
||||
stableInfo.StablePath.Value = path;
|
||||
|
||||
using (var stream = tournamentStorage.GetStream(StableInfo.STABLE_CONFIG, FileAccess.Write, FileMode.Create))
|
||||
using (var sw = new StreamWriter(stream))
|
||||
{
|
||||
@ -215,11 +218,7 @@ namespace osu.Game.Tournament.IPC
|
||||
string stableInstallPath = Environment.GetEnvironmentVariable("OSU_STABLE_PATH");
|
||||
|
||||
if (checkExists(stableInstallPath))
|
||||
{
|
||||
stableInfo.StablePath.Value = stableInstallPath;
|
||||
saveStablePath();
|
||||
return stableInstallPath;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
@ -228,7 +227,7 @@ namespace osu.Game.Tournament.IPC
|
||||
return null;
|
||||
}
|
||||
|
||||
private string findFromJsonConfig()
|
||||
private string readFromStableInfo()
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -250,11 +249,7 @@ namespace osu.Game.Tournament.IPC
|
||||
string stableInstallPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"osu!");
|
||||
|
||||
if (checkExists(stableInstallPath))
|
||||
{
|
||||
stableInfo.StablePath.Value = stableInstallPath;
|
||||
saveStablePath();
|
||||
return stableInstallPath;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
@ -265,11 +260,7 @@ namespace osu.Game.Tournament.IPC
|
||||
string stableInstallPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".osu");
|
||||
|
||||
if (checkExists(stableInstallPath))
|
||||
{
|
||||
stableInfo.StablePath.Value = stableInstallPath;
|
||||
saveStablePath();
|
||||
return stableInstallPath;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
@ -284,11 +275,7 @@ namespace osu.Game.Tournament.IPC
|
||||
stableInstallPath = key?.OpenSubKey(@"shell\open\command")?.GetValue(string.Empty).ToString().Split('"')[1].Replace("osu!.exe", "");
|
||||
|
||||
if (checkExists(stableInstallPath))
|
||||
{
|
||||
stableInfo.StablePath.Value = stableInstallPath;
|
||||
saveStablePath();
|
||||
return stableInstallPath;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -139,39 +139,26 @@ namespace osu.Game.Tournament.Screens
|
||||
|
||||
private void changePath(Storage storage)
|
||||
{
|
||||
var target = directorySelector.CurrentDirectory.Value.FullName;
|
||||
var fileBasedIpc = ipc as FileBasedIPC;
|
||||
Logger.Log($"Changing Stable CE location to {target}");
|
||||
|
||||
if (!fileBasedIpc.checkExists(target))
|
||||
{
|
||||
overlay = new DialogOverlay();
|
||||
overlay.Push(new IPCErrorDialog("This is an invalid IPC Directory", "Select a directory that contains an osu! stable cutting edge installation and make sure it has an empty ipc.txt file in it."));
|
||||
AddInternal(overlay);
|
||||
Logger.Log("Folder is not an osu! stable CE directory");
|
||||
return;
|
||||
// Return an error in the picker that the directory does not contain ipc.txt
|
||||
}
|
||||
|
||||
stableInfo.StablePath.Value = target;
|
||||
|
||||
try
|
||||
{
|
||||
using (var stream = storage.GetStream(StableInfo.STABLE_CONFIG, FileAccess.Write, FileMode.Create))
|
||||
using (var sw = new StreamWriter(stream))
|
||||
var target = directorySelector.CurrentDirectory.Value.FullName;
|
||||
stableInfo.StablePath.Value = target;
|
||||
var fileBasedIpc = ipc as FileBasedIPC;
|
||||
Logger.Log($"Changing Stable CE location to {target}");
|
||||
|
||||
if (!fileBasedIpc.checkExists(target))
|
||||
{
|
||||
sw.Write(JsonConvert.SerializeObject(stableInfo,
|
||||
new JsonSerializerSettings
|
||||
{
|
||||
Formatting = Formatting.Indented,
|
||||
NullValueHandling = NullValueHandling.Ignore,
|
||||
DefaultValueHandling = DefaultValueHandling.Ignore,
|
||||
}));
|
||||
overlay = new DialogOverlay();
|
||||
overlay.Push(new IPCErrorDialog("This is an invalid IPC Directory", "Select a directory that contains an osu! stable cutting edge installation and make sure it has an empty ipc.txt file in it."));
|
||||
AddInternal(overlay);
|
||||
Logger.Log("Folder is not an osu! stable CE directory");
|
||||
return;
|
||||
// Return an error in the picker that the directory does not contain ipc.txt
|
||||
}
|
||||
|
||||
|
||||
fileBasedIpc?.LocateStableStorage();
|
||||
sceneManager?.SetScreen(typeof(SetupScreen));
|
||||
|
||||
fileBasedIpc.LocateStableStorage();
|
||||
sceneManager.SetScreen(typeof(SetupScreen));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@ -181,7 +168,6 @@ namespace osu.Game.Tournament.Screens
|
||||
|
||||
private void autoDetect()
|
||||
{
|
||||
stableInfo.StablePath.Value = string.Empty; // This forces findStablePath() to look elsewhere.
|
||||
var fileBasedIpc = ipc as FileBasedIPC;
|
||||
fileBasedIpc?.LocateStableStorage();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user