public static MinecartProfile LoadProfile() { MinecartProfile profile = JsonConvert.DeserializeObject <MinecartProfile>(File.ReadAllText(settingsFileName)); if (profile.mods == null) { profile.mods = new List <Mod>(); } foreach (var mod in Directory.GetFiles(modsDirName)) { profile.mods.Add(new Mod(mod)); } if (profile.modpacks == null) { profile.modpacks = new ModpacksList(); } foreach (var modpack in Directory.GetFiles(modpacksDirName)) { Modpack pack = Modpack.Unpack(File.ReadAllText(modpack)); profile.modpacks.Add(pack); } foreach (var pack in profile.modpacks) { pack.UnpackRelatedModpacks(profile.modpacks); } Directory.CreateDirectory(profile.GameModsDir); return(profile); }
public ModpackWindow(MinecartProfile profile, Modpack modpack) { this.profile = profile; sourceModpack = modpack; currentModpack = (Modpack)modpack.Clone(); InitializeComponent(); ModpackNameTextBox.Text = currentModpack.Name; ModpackIDLabel.Content = modpack.id; foreach (var mod in currentModpack.ModsList) { ModsListBox.Items.Add(mod.Name); } ModsListBox.SelectionMode = SelectionMode.Multiple; foreach (var pack in currentModpack.ChildrenModpacks) { ModpacksListBox.Items.Add(pack.Name); } StringBuilder parentsStringBuilder = new StringBuilder(); foreach (var pack in currentModpack.ParentsModpacks) { parentsStringBuilder.Append($"{pack.Name}\n"); } ParentsModpacksTextBlock.Text = parentsStringBuilder.ToString(); ModpacksListBox.SelectionMode = SelectionMode.Multiple; RemoveModButton.IsEnabled = false; RemoveModpackButton.IsEnabled = false; UpdateLists(); }
public void DeployModpack(Modpack modpack) { Directory.CreateDirectory(GameModsDir); foreach (var mod in modpack.GetAllMods()) { mod.DeployTo(GameModsDir); } }
private void AddModPackButton_Click(object sender, RoutedEventArgs e) { Modpack modpack = new Modpack("New modpack"); profile.AddModpack(modpack); modpack.Pack(); ModpacksListBox.Items.Add(modpack.Name); profile.SaveSettings(); }
public void DeployModpackProgressive(Modpack modpack, Progress progress) { Directory.CreateDirectory(GameModsDir); foreach (var mod in modpack.GetAllMods()) { mod.DeployTo(GameModsDir); progress.Step(); } }
private void DeployButton_Click(object sender, RoutedEventArgs e) { profile.DetachActiveModpack(); //profile.DeployModpack(profile.GetModpack(ModpacksListBox.SelectedItem.ToString())); Modpack pack = profile.GetModpack(ModpacksListBox.SelectedItem.ToString()); IEnumerable <Mod> mods = pack.GetAllMods(); Progress progress = new Progress(mods.Count()); ProgressBar progressWindow = new ProgressBar($"Deployment of \"{pack.Name}\" modpack...", progress, (Progress p) => { profile.DeployModpackProgressive(pack, p); }); progressWindow.ShowDialog(); ModsListBox.SelectedItem = null; }
public void AddModpack(Modpack pack) { modpacks.Add(pack); }