From 61f02c19c93abd1f470d758e772d8592b620ffb8 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 6 Aug 2022 00:13:41 +0200 Subject: [PATCH] Fix AddingDuplicate Error when setting credits and add `GetCreditsString` Property --- MinecraftUSkinEditor/Classes/FileTypes/AudioPCKFile.cs | 3 ++- MinecraftUSkinEditor/Forms/Utilities/Audio/AudioEditor.cs | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/MinecraftUSkinEditor/Classes/FileTypes/AudioPCKFile.cs b/MinecraftUSkinEditor/Classes/FileTypes/AudioPCKFile.cs index fbf5c9cb..53c9ec52 100644 --- a/MinecraftUSkinEditor/Classes/FileTypes/AudioPCKFile.cs +++ b/MinecraftUSkinEditor/Classes/FileTypes/AudioPCKFile.cs @@ -59,6 +59,7 @@ namespace PckStudio.Classes.FileTypes } public string[] GetCredits() => Credits.Values.ToArray(); + public string GetCreditsString() => string.Join("\n", Credits.Values.ToArray()); public void AddCredits(params string[] credits) { @@ -101,7 +102,7 @@ namespace PckStudio.Classes.FileTypes public void AddCredit(string credit) { - Credits.Add($"IDS_CREDIT{(Credits.Count > 1 ? $"_{Credits.Count}" : string.Empty)}", credit); + Credits.Add($"IDS_CREDIT{(Credits.Count > 0 ? $"_{Credits.Count+1}" : string.Empty)}", credit); } public void AddCreditId(string creditId) => Credits.Add(creditId, string.Empty); diff --git a/MinecraftUSkinEditor/Forms/Utilities/Audio/AudioEditor.cs b/MinecraftUSkinEditor/Forms/Utilities/Audio/AudioEditor.cs index 496bd304..d2809444 100644 --- a/MinecraftUSkinEditor/Forms/Utilities/Audio/AudioEditor.cs +++ b/MinecraftUSkinEditor/Forms/Utilities/Audio/AudioEditor.cs @@ -421,10 +421,10 @@ namespace PckStudio.Forms.Utilities private void creditsEditorToolStripMenuItem_Click(object sender, EventArgs e) { - var credits = string.Join("\n", audioFile.GetCredits()); - using creditsEditor prompt = new creditsEditor(credits); - if (prompt.ShowDialog() == DialogResult.OK) - audioFile.SetCredits(prompt.Credits.Split('\n')); + var credits = audioFile.GetCreditsString(); + using (creditsEditor prompt = new creditsEditor(credits)) + if (prompt.ShowDialog() == DialogResult.OK) + audioFile.SetCredits(prompt.Credits.Split('\n')); } private void AudioEditor_FormClosing(object sender, FormClosingEventArgs e)