public void OpenMcPackFile(Form1 form) { OpenFileDialog fdb = new OpenFileDialog { Title = MCPACK_OPEN_TITLE, Filter = MCPACK_FILTER }; var result = fdb.ShowDialog(); if (result == DialogResult.OK) { Global.McpackFilePath = fdb.FileName; FileProcessing.ExtractMcpackFile(form); FileProcessing.LoadSkinsJson(form); if (Global.Skins.SkinList.Count <= 0) { throw new DataException($"No skins found in {Path.GetFileName(Global.McpackFilePath)}."); } FileProcessing.FillSkinsList(form); FileProcessing.LoadManifestJson(form); FileProcessing.LoadPackSettings(form); form.Set_StatusLabel(LOAD_OK); } }
public bool SaveMcpack(Form1 form) { if (Global.Skins.SkinList.Count > 0) { if (!ValidSkins()) { MessageBox.Show("You have empty skins in your list! Remove or select name/texture file for them.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } FileProcessing.CreateSkinsJsonFile(form); FileProcessing.CreateEnUsLangFile(form); FileProcessing.CreateLanguagesJsonFile(form); FileProcessing.CreateManifestJsonFile(form); FileProcessing.CreateMcpackFile(form); return(true); } else { MessageBox.Show("There's nothing to save!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } return(false); }
private void UpdateDefaultSkinName(Form1 form, int index, string filename) { if (Global.Skins.SkinList[index].SkinName.Contains(SKIN_DEFAULT_NAME)) { Global.Skins.SkinList[index].SkinName = filename; FileProcessing.FillSkinsList(form); form.Set_SkinListSelectedItem(index); } }
public void RemoveSkin(Form1 form) { var index = form.Get_SkinListSelectedIndex(); var file = $"{Global.WorkDir}\\{Global.Skins.SkinList[index].SkinTextureFile}"; if (File.Exists(file)) { File.Delete(file); } Global.Skins.SkinList.RemoveAt(index); FileProcessing.FillSkinsList(form); Utils.SelectNextListItem(form, index); }
public void OpenMultipleTextureFiles(Form1 form) { OpenFileDialog Ofd = new OpenFileDialog { Title = MULTIPLE_TEXTURE_OPEN_TITLE, Filter = IMAGE_FILTER, Multiselect = true }; var result = Ofd.ShowDialog(); if (result == DialogResult.OK) { var imagens = Ofd.FileNames.Where(x => Path.GetExtension(x) == IMAGE_EXTENSION); foreach (var item in imagens) { var filename = Path.GetFileNameWithoutExtension(item); var file = Path.GetFileName(item); Global.Skins.SkinList.Add( new SkinModel.Skin() { SkinFormat = Global.DefaultSkinFormat, SkinName = filename, SkinTextureFile = file, SkinType = "free" } ); form.Set_SkinTexture(item); File.Copy(item, $"{Global.WorkDir}\\{file}", true); FileProcessing.FillSkinsList(form); } var index = form.Get_SkinListItemsCount() - 1; Utils.SelectNextListItem(form, index); form.Set_SkinBoxPicture(Utils.LoadImagePreview(form, index)); } }
public void AddNewSkin(Form1 form) { Global.Skins.SkinList.Add( new SkinModel.Skin() { SkinFormat = Global.DefaultSkinFormat, SkinName = $"New Skin ({Global.Skins.SkinList.Count + 1})", SkinTextureFile = "", SkinType = "free" } ); FileProcessing.FillSkinsList(form); Utils.SelectNextListItem(form, Global.Skins.SkinList.Count - 1); form.Focus_SkinName(); form.SelectAll_SkinName(); form.Set_StatusLabel(NEW_SKIN); }