Exemple #1
0
        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();
        }
Exemple #3
0
 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();
        }
Exemple #5
0
 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;
        }
Exemple #7
0
 public void AddModpack(Modpack pack)
 {
     modpacks.Add(pack);
 }