internal bool InjectGamesFo(ICollection <DataRep> games) { bool result = false; try { MeEmit mee = new MeEmit() { ByPass = true, }; mee.SignalWrite += (x, y) => this.SetStatus(x, new StateArg(y, false)); mee.SignalWriteLine += (x, y) => this.SetStatus(x, new StateArg(y, false)); HeTrace.AddMessenger("Mee", mee); foreach (var game in games) { InjectGame(game.CurrentPath); } result = true; } catch (Exception exc) { HeTrace.WriteLine(exc.Message); HeTrace.WriteLine(exc.StackTrace); result = false; } finally { HeTrace.RemoveMessenger("Mee"); } return(result); }
// --- public override bool ExportGames(ICollection <DataRep> games) { bool result = false; try { MeEmit mee = new MeEmit() { ByPass = true, }; mee.SignalWrite += (x, y) => this.SetStatus(x, new StateArg(y, false)); mee.SignalWriteLine += (x, y) => this.SetStatus(x, new StateArg(y, false)); HeTrace.AddMessenger("Mee", mee); foreach (var game in games) { //string tmpPath = Path.Combine(Path.GetTempPath(), Path.GetFileNameWithoutExtension(game.Name)); ExportGame(game.CurrentPath); } result = true; } catch (Exception exc) { HeTrace.WriteLine(exc.Message); HeTrace.WriteLine(exc.StackTrace); result = false; } finally { HeTrace.RemoveMessenger("Mee"); } return(result); }
/* * internal void NewFindPivot() * { * for (int i = 0; i < ExtPlatformGames.Count; i++) * { * C_Game game = ExtPlatformGames[i]; * * // Gestion d'éventuelle erreur * if (game.ApplicationPath == null) * continue; * * // On passe les jeux déjà ok * if (game.ApplicationPath.RelatPath.Contains(PlatformRelatPath)) * continue; * * string[] arr = game.ApplicationPath.RelatPath.Split(@"\"); * * // Test avec le nom de plateforme * if (arr.Contains(PlatformToReplace)) * { * HeTrace.WriteLine($"[Pivot] OldObject choice"); * var posPlatName = Array.LastIndexOf(arr, SelectedPlatform.Name); * ToReplace = String.Join(@"\", arr, 0, posPlatName + 1); * return; * } * * // Test pour essayer via le nom du système * if (arr.Contains(SelectedPlatform.Name)) * { * HeTrace.WriteLine($"[Pivot] ObjectPlatfotme choice"); * var posPlatName = Array.LastIndexOf(arr, SelectedPlatform.Name); * // Détermination de la position du nom de la plateforme * * ToReplace = String.Join(@"\", arr, 0, posPlatName + 1); * * return; * } * * // Voir si dossier null * // On récupère le nom du dernier dossier de la plateforme * string lastDir = Path.GetFileName(SelectedPlatform.Folder); * if (!string.IsNullOrEmpty(SelectedPlatform.Folder) && game.ApplicationPath.RelatPath.Contains(lastDir)) * { * HeTrace.WriteLine($"[Pivot] Last folder from platform choice"); * var posPlatName = Array.LastIndexOf(arr, lastDir); * ToReplace = String.Join(@"\", arr, 0, posPlatName - 1); // +1 Pour prendre aussi le dernier dossier * * return; * * } * * ToReplace = SelectedPlatform.Folder; * HeTrace.WriteLine($"[Pivot] No predict"); * } * } * * /// <summary> * /// * /// <summary> * /// <remarks> * /// La prédiction est trop difficile, car il y a trop d'incertitudes. * /// Remplacé par une vérification si le premier jeu à modifier contiendrait le nom du système pour déterminer la chaine à remplacer * /// Si ce n'est pas le cas on ne mettra rien, il y a une boite pour choisir à la main le dossier * /// </remarks> * [Obsolete] * internal void FindPivot() * { * // Mise en place du système pivot/tail, on donne un mot, on conservera ce qu'il y a après * * // Récupération du premier qui n'a pas le bon chemin (pour travailler dessus) * //C_Game chosenGame = null; * for (int i = 0; i < ExtPlatformGames.Count; i++) * { * C_Game game = ExtPlatformGames[i]; * * // Gestion d'éventuelle erreur * if (game.ApplicationPath == null) * continue; * * // On passe les jeux déjà ok * if (game.ApplicationPath.RelatPath.Contains(PlatformRelatPath)) * continue; * * string[] arr = game.ApplicationPath.RelatPath.Split(@"\"); * * // Test pour essayer via le nom du système * if (arr.Contains(SelectedPlatform.Name)) * { * HeTrace.WriteLine($"[Pivot] ObjectPlatfotme choice"); * var posPlatName = Array.IndexOf(arr, SelectedPlatform.Name); * // Détermination de la position du nom de la plateforme * * ToReplace = String.Join(@"\", arr, 0, posPlatName + 1); * * return; * } * * // Voir si dossier null * // On récupère le nom du dernier dossier de la plateforme * string lastDir = Path.GetFileName(SelectedPlatform.Folder); * if (!string.IsNullOrEmpty(SelectedPlatform.Folder) && game.ApplicationPath.RelatPath.Contains(lastDir)) * { * HeTrace.WriteLine($"[Pivot] Last folder from platform choice"); * var posPlatName = Array.IndexOf(arr, lastDir); * ToReplace = String.Join(@"\", arr, 0, posPlatName + 1); // +1 Pour prendre aussi le dernier dossier * return; * * } * * // Dernier cas on prend le premier application path qui ne correspond pas * ToReplace = Path.GetDirectoryName(game.ApplicationPath.RelatPath); * HeTrace.WriteLine("[Pivot] Last choice - Edit is strongly recommended"); * return; * } * * ToReplace = SelectedPlatform.Folder; * HeTrace.WriteLine($"[Pivot] No predict"); * }*/ #endregion private void PrepareInitializeGames() { TaskLauncher tl = new TaskLauncher() { AutoCloseWindow = true, ProgressIHM = new Splash() { Model = new EphemProgress(Core), }, MethodToRun = () => Core.InitializeGames() }; tl.Launch(Core); HeTrace.RemoveMessenger("mee"); }
internal bool InjectGamesFi(ICollection <DataRep> games) { ProgressTotal = games.Count(); try { MeEmit mee = new MeEmit() { ByPass = true, }; mee.SignalWrite += (x, y) => this.SetStatus(x, new StateArg(y, false)); mee.SignalWriteLine += (x, y) => this.SetStatus(x, new StateArg(y, true)); HeTrace.AddMessenger("Mee", mee); List <DataRep> folders = new List <DataRep>(); // Extraction des données foreach (DataRep game in games) { string tmpPath = Path.Combine(Config.HWorkingFolder, Path.GetFileNameWithoutExtension(game.Name)); game.DestPath = tmpPath; // extraction ExtractDataFiles(game, tmpPath); folders.Add(new DataRep(tmpPath)); } // Exportation foreach (DataRep game in games) { InjectGame(game.DestPath); } return(true); } catch (Exception exc) { HeTrace.WriteLine(exc.Message); HeTrace.WriteLine(exc.StackTrace); return(false); } finally { HeTrace.RemoveMessenger("Mee"); } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { HeTrace.RemoveMessenger("Debug"); }
public void Dispose() { HeTrace.RemoveMessenger("Verbose"); Properties.Settings.Default.cgpAddApp = Core.AddAppPaths; Properties.Settings.Default.Save(); }
public void Dispose() { HeTrace.RemoveMessenger("Verbose"); }