public void loadRallies(Form_Main mainForm) { XmlNode rootNode; rootNode = xmlDoc.DocumentElement; List<long> list_timestamps = new List<long>(); ImageList imageList_screenshots = new ImageList(); imageList_screenshots.ImageSize = new Size(84, 68); mainForm.listView_screenshots.Items.Clear(); List<Set> sets = new List<Set>(); sets.Add(new Set(1)); sets.Add(new Set(2)); sets.Add(new Set(3)); XmlNodeList rallies = xmlDoc.GetElementsByTagName("Spielzug"); for (int i = 0; i < rallies.Count; i++) { int setnr = Convert.ToInt32(rallies[i].SelectSingleNode("@Satz").InnerText); long starttime = Convert.ToInt64(rallies[i].SelectSingleNode("@ID").InnerText); list_timestamps.Add(starttime); Rally rally = new Rally(starttime,setnr); rally.Kill = (rallies[i].SelectSingleNode("@Erfolg").InnerText == "True"); rally.Smash = (rallies[i].SelectSingleNode("@Smash").InnerText == "True"); rally.Drop = (rallies[i].SelectSingleNode("@Drop").InnerText == "True"); rally.BigPoint = (rallies[i].SelectSingleNode("@Bigpoint").InnerText == "True"); rally.Timeout = (rallies[i].SelectSingleNode("@Timeout").InnerText == "True"); rally.Standardposition = (rallies[i].SelectSingleNode("@Standardseite").InnerText == "True"); // Get All Positions XmlNode xmlposition = rallies[i].SelectSingleNode("Aufschlag"); rally.Service_pos = getPosition(xmlposition); xmlposition = rallies[i].SelectSingleNode("Annahme"); rally.Reception_pos = getPosition(xmlposition); rally.Reception_pos.Player = new Person(); String playername = rallies[i].SelectSingleNode("ReceptionPlayer/Player/@Name").InnerText; rally.Reception_pos.Player = readPlayer(playername); XmlNodeList defenceplayers = rallies[i].SelectNodes("Punktchance_aus_Defence/Player"); List<Person> defenceplayerslist = new List<Person>(); for (int c = 0; c < defenceplayers.Count; c++) { string name = defenceplayers[c].SelectSingleNode("@Name").InnerText; defenceplayerslist.Add(readPlayer(name)); } rally.Reception_pos.Defenceplayers = defenceplayerslist; xmlposition = rallies[i].SelectSingleNode("Zuspiel"); rally.Set_pos = getPosition(xmlposition); xmlposition = rallies[i].SelectSingleNode("Anlauf"); rally.Takeoff_pos = getPosition(xmlposition); xmlposition = rallies[i].SelectSingleNode("Angriff"); rally.Approach_pos = getPosition(xmlposition); xmlposition = rallies[i].SelectSingleNode("Abwehr"); rally.Defence_pos = getPosition(xmlposition); // Set Screenshot CaptureStream capture_stream = new CaptureStream(); Bitmap screenshot = capture_stream.createScreenshot(starttime, false); if (screenshot != null) { imageList_screenshots.Images.Add(screenshot); mainForm.setImageListScreenshots(imageList_screenshots); int screenshot_index = i; ListViewItem screenshot_item = new ListViewItem("", screenshot_index); mainForm.listView_screenshots.Items.Add(screenshot_item); mainForm.listView_screenshots.LargeImageList = mainForm.getImageListScreenshots(); mainForm.listView_screenshots.Refresh(); } sets[setnr - 1].Rallies.Add(rally); } mainForm.Game.Sets = sets; mainForm.List_timestamps = list_timestamps; }