void btnLoad_Click(object sender, EventArgs e) { for (int i = 0; i < emitters.Count; i++) { emitters[i].Destroy(); } table.Controls.Clear(); if (openDia.ShowDialog() == DialogResult.OK) { if (openDia.FileName != "") { filepath = openDia.FileName; Type[] extraTypes = new Type[] { typeof(List <ParticleEmitterInfo>), typeof(ParameterCollection[]), typeof(ParameterCollection), typeof(float) }; info = SerializationHelper.Deserialize <ParticleSystem3DInfo>( filepath, false, ".Part3D", extraTypes); for (int i = 0; i < info.Emitters.Count; i++) { emitters.Add(new EmitterDock(table, info.Emitters[i].Value, info.Emitters[i].Key)); lstEmitters.Items.Add(info.Emitters[i].Key); } } } }
public Form1() { InitializeComponent(); saveDia.InitialDirectory = @"C:\"; saveDia.Title = "Save File"; saveDia.Filter = "3D Paritcle System File (*.Part3D)|*.Part3D"; openDia.InitialDirectory = @"C:\"; openDia.Title = "Browze Files"; openDia.Filter = "3D Paritcle System File (*.Part3D)|*.Part3D"; AssemblyManager.AddAssemblyRef("Eon.Particles"); info = new ParticleSystem3DInfo(); info.Emitters = new EonDictionary <string, ParticleEmitterInfo>(); try { temp = SerializationHelper.Deserialize <Crosswalk.Message>("Temp", false, ".temp"); Type[] extraTypes = new Type[] { typeof(ObjectListing), typeof(FrameworkCreation) }; ProjectFile project = SerializationHelper.Deserialize <ProjectFile>( temp.Messages[0], false, "", extraTypes); FileSource.Attachments = project.CreatableObjects.ParticleAttachments; FileSource.Cycles = project.CreatableObjects.ParticleCycles; FileSource.EmittionTypes = project.CreatableObjects.ParticleEmitters3D; FileSource.RenderTypes = project.CreatableObjects.ParticleRenderMethods3D; FileSource.LoadAssemblies(temp.Messages[1]); } catch { } }