Try to guess game name from path if config doesn't exist.

This commit is contained in:
Jeddunk 2021-01-01 17:03:46 +01:00
parent 1042923249
commit d71144b1d6

View File

@ -67,7 +67,7 @@ namespace auto_creamapi.ViewModels
// // COMMANDS // // // // COMMANDS // //
public IMvxCommand OpenFileCommand => new MvxCommand(OpenFile); public IMvxCommand OpenFileCommand => new MvxAsyncCommand(OpenFile);
public IMvxCommand SearchCommand => new MvxAsyncCommand(async () => await Search()); //Command(Search); public IMvxCommand SearchCommand => new MvxAsyncCommand(async () => await Search()); //Command(Search);
@ -224,7 +224,7 @@ namespace auto_creamapi.ViewModels
} }
} }
private void OpenFile() private async Task OpenFile()
{ {
Status = "Waiting for file..."; Status = "Waiting for file...";
var dialog = new OpenFileDialog var dialog = new OpenFileDialog
@ -245,7 +245,17 @@ namespace auto_creamapi.ViewModels
ResetForm(); ResetForm();
_dll.TargetPath = dirPath; _dll.TargetPath = dirPath;
_dll.CheckIfDllExistsAtTarget(); _dll.CheckIfDllExistsAtTarget();
CheckExistence(); CheckSetupStatus();
if (!ConfigExists)
{
var separator = Path.DirectorySeparatorChar;
var strings = new List<string>(dirPath.Split(separator));
var index = strings.Contains("common") ? strings.FindIndex(x => x.Equals("common")) + 1 : -1;
if (index == -1) index = strings.Contains("steamapps") ? strings.FindIndex(x => x.Equals("steamapps")) + 2 : -1;
var s = index > -1 ? strings[index] : null;
if (s != null) GameName = s;
await Search();
}
Status = "Ready."; Status = "Ready.";
} }
} }
@ -326,7 +336,7 @@ namespace auto_creamapi.ViewModels
); );
_config.SaveFile(); _config.SaveFile();
_dll.Save(); _dll.Save();
CheckExistence(); CheckSetupStatus();
Status = "Saving successful."; Status = "Saving successful.";
} }
@ -365,7 +375,7 @@ namespace auto_creamapi.ViewModels
} }
} }
private void CheckExistence() private void CheckSetupStatus()
{ {
DllApplied = _dll.CreamApiApplied(); DllApplied = _dll.CreamApiApplied();
ConfigExists = _config.ConfigExists(); ConfigExists = _config.ConfigExists();