private void StartRender(object sender, RoutedEventArgs e) { _timer.Stop(); _timer.Start(); var rand = new Random(); //_renderWindow = new RenderWindow {MainImage = {Source = _wb}}; for (uint l = 0; l < Cell.LayerCount; l++) { Cell.CellMap[l, 0][0].State = 1; for (uint i = 1; i < Cell.SizeCount; i++) { for (uint j = 0; j < 6 * i; j++) { Cell.CellMap[l, i][j].State = rand.Next(2); } } } //_wb.Lock(); //foreach (var cell in Cell.CellMap.SelectMany(cellFloor => cellFloor).Take(100)) //{ //cell.State = rand.Next(0, 2); //_wb.WritePixels(new Int32Rect( // (int)(cell.Position.X), // (int)(cell.Position.Y), // 1, // 1), whiteOrblack, 1, cell.Alive ? 1 : 0); //} //_wb.Unlock(); //for (int i = 0; i < 64; i++) //{ // if ((ItemSource[i] & 1) == 0) continue; // var j = ItemSource[i] >> 1; // Cell.Rules[i] = (j & 1) == 1; //} Cell.ApplyRules((SurvivalsRule.ItemsSource as ObservableCollection <Rule>).Where(x => x.Value).Select(x => x.Index), (BirthsRule.ItemsSource as ObservableCollection <Rule>).Where(x => x.Value).Select(x => x.Index)); //_renderWindow.ShowDialog(); }