/// <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); }