private void ResetSimulator() { framesRun = 0; world = new World(new BeeMessage(SendMessage)); renderer = new Renderer(world, hiveForm, fieldForm); }
private void openToolStripButton_Click(object sender, EventArgs e) { World currentWorld = world; int currentFramesRun = framesRun; bool enabled = timer1.Enabled; if (enabled) timer1.Stop(); OpenFileDialog openDialog = new OpenFileDialog(); openDialog.Filter = "Simulator File (*.bees)|*.bees"; openDialog.CheckPathExists = true; openDialog.CheckFileExists = true; openDialog.Title = "Choose a file with a simulation to load"; if (openDialog.ShowDialog() == DialogResult.OK) { try { BinaryFormatter bf = new BinaryFormatter(); using (Stream input = File.OpenRead(openDialog.FileName)) { world = (World)bf.Deserialize(input); framesRun = (int)bf.Deserialize(input); } } catch (Exception ex) { MessageBox.Show("Unable to read the simulator file\r\n" + ex.Message, "Bee Simulator Error", MessageBoxButtons.OK, MessageBoxIcon.Error); world = currentWorld; framesRun = currentFramesRun; } } world.Hive.MessageSender = new BeeMessage(SendMessage); foreach (Bee bee in world.Bees) bee.MessageSender = new BeeMessage(SendMessage); if (enabled) timer1.Start(); renderer.Reset(); renderer = new Renderer(world, hiveForm, fieldForm); }