/// <summary>
        /// expects pakAndSoundFiles as an array of dimension [x,2] with x the number of sounds to add
        /// it expects this format: {{pakSoundfile, SoundFile}, {pakSoundFile,..}, ..}
        /// </summary>
        /// <param name="pakAndSoundFiles"></param>
        /// <returns></returns>
        public static AchievementOptions CreateDynamicSoundsAchievement(string[,] pakAndSoundFiles)
        {
            var nrOfSounds = pakAndSoundFiles.GetLength(0);

            var dynamicSoundsAchievment = new AchievementOptions();

            dynamicSoundsAchievment.Initialize();
            var sounds = dynamicSoundsAchievment.dynamicSounds.sounds = new BasicAchievementSound[nrOfSounds];

            for (int i = 0; i < nrOfSounds; i++)
            {
                sounds[i] = new BasicAchievementSound
                {
                    pakSoundFile = pakAndSoundFiles[i, 0],
                    soundFile    = pakAndSoundFiles[i, 1]
                };
            }

            return(dynamicSoundsAchievment);
        }
        /// <summary>
        /// Helper function that gathers all sounds from a achievement, be it old style one sound, or multiple dynamicsounds
        /// and returns them in one IEnumerable.
        /// </summary>
        private static IEnumerable <BasicAchievementSound> GetAllNonDefaultSounds(AchievementOptions achievement)
        {
            var sounds = new List <BasicAchievementSound>();

            //Add old style one sound
            if (achievement.fileSoundPath.ToLower().Trim() != _defaultfileSoundPath)
            {
                var soundToAdd = new BasicAchievementSound
                {
                    pakSoundFile = achievement.pakSoundPath,
                    soundFile    = achievement.fileSoundPath
                };
                sounds.Add(soundToAdd);
            }

            //Add dynamic sounds
            if (achievement.dynamicSounds?.sounds != null)
            {
                sounds.AddRange(achievement.dynamicSounds.sounds);
            }

            return(sounds);
        }
        public static VoicepackExtended Create()
        {
            var sample = new VoicepackExtended();

            sample.InitializeToDefault();

            //One achievement with 1 'old style' sound
            var achievementList = sample.Voicepack.groupManager.achievementList;

            achievementList[SampleAchievements[0]].fileSoundPath = "filepath1";
            achievementList[SampleAchievements[0]].pakSoundPath  = "pakpath1";

            //One achievement with 2 dynamic sounds
            achievementList[SampleAchievements[1]].dynamicSounds = new BasicDynamicSoundManager();
            var sounds = achievementList[SampleAchievements[1]].dynamicSounds.sounds = new BasicAchievementSound[2];

            sounds[0] = new BasicAchievementSound
            {
                pakSoundFile = SampleAchievements[1] + "_pakSoundFile1",
                soundFile    = SampleAchievements[1] + "_soundFile1"
            };
            sounds[1] = new BasicAchievementSound
            {
                pakSoundFile = SampleAchievements[2] + "_pakSoundFile1",
                soundFile    = SampleAchievements[2] + "_soundFile1"
            };
            //sounds[0].pakSoundFile = SampleAchievements[1] + "_pakSoundFile1";
            //sounds[0].soundFile = SampleAchievements[1] + "_soundFile1";

            //sounds[1].pakSoundFile = SampleAchievements[2] + "_pakSoundFile2";
            //sounds[1].soundFile = SampleAchievements[2] + "_soundFile2";

            //sounds[1] = CreateBasicAchievementSound(SampleAchievements[2] + "_pakSoundFile2", SampleAchievements[2] + "_soundFile2");

            return(sample);
        }