public static void RepopulateAnimationList() { ExternalAnimations.Clear(); string[] files = Directory.GetFiles(AnimationsPath, "*.json"); foreach (string f in files) { string jsonContent = File.ReadAllText(f); ExternalAnimation ea = JsonConvert.DeserializeObject <ExternalAnimation>(jsonContent, new JsonSerializerSettings { Converters = { new ExternalAnimationConverter() }, MissingMemberHandling = MissingMemberHandling.Ignore }); if (ea != null) { ExternalAnimations.Add(ea); } } }
private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "METAL Composer JSON file (*.json)|*.json"; DialogResult dr = ofd.ShowDialog(); if (dr == DialogResult.OK) { string jsoncontents = File.ReadAllText(ofd.FileName); ExternalAnimation ea = JsonConvert.DeserializeObject <ExternalAnimation>(jsoncontents, new JsonSerializerSettings { Converters = { new ExternalAnimationConverter() }, MissingMemberHandling = MissingMemberHandling.Ignore }); if (!ea.Looping) { // Hardcoded. Right now I don't mind cbLoopMode.SelectedIndex = 0; } ea.WriteToMem(); } }