public void AddSoundEvent(string eventType, params string[] paramlist) { SoundEvent e = null; switch (eventType) { case "PlaySound": e = new PlaySFXEvent(); break; case "StartSoundLoop": e = new StartSFXLoopEvent(); break; case "StopSoundLoop": e = new StopSFXLoopEvent(); break; case "StartMusic": e = new StartMusicEvent(); break; case "StopMusic": e = new StopMusicEvent(); break; case "FadeMusic": e = new FadeMusicEvent(); break; } if (e != null) { e.Deserialize(paramlist); if (eventsDict.ContainsKey(e.name)) { eventsDict[e.name].clip = library.GetSoundFromLibrary(e.soundName); eventsDict[e.name].library = library; } else { e.clip = library.GetSoundFromLibrary(e.soundName); e.library = library; eventsDict.Add(e.name, e); } } }