public void LoadFromXML(XmlTextReader reader) { cameras.Clear(); lights.Clear(); objects.Clear(); reader.ReadStartElement("Scene"); //Read All Cameras reader.ReadStartElement("Cameras"); while(reader.IsStartElement("Camera")) { RTCamera camera = new RTCamera(); camera.ReadFromXML(reader); cameras.Add(camera); } reader.ReadEndElement(); //Cameras reader.ReadStartElement("Lights"); while (reader.IsStartElement("Light")) { reader.ReadStartElement("Light"); RTLight light; if (reader.IsStartElement("PointLight")) { light = new RTPointLight(); light.ReadFromXML(reader); } } reader.ReadEndElement(); //Lights reader.ReadEndElement(); //Scene }