public override void Execute() { AddedEvents.Remove(new Point(X, Y)); bool alive = field.GetCell(X, Y); if (alive) { field.SetCell(X, Y, updateAlive()); } else { field.SetCell(X, Y, updateDead()); } }
private void NextButton_Click(object sender, EventArgs e) { if (newCells.Count > 0) { foreach (var cell in newCells) { field.SetCell(cell.X, cell.Y, true); ScheduleUpdateEvent.Add(field, cell.X, cell.Y, DEVS.GlobalTime); } newCells.Clear(); } field.Swap(); DeleteEvents.Add(field, DEVS.GlobalTime); if (showEvents) { seenCells.Clear(); } double time = DEVS.GlobalTime; while (time == DEVS.GlobalTime && DEVS.ProcessNextEvent()) { if (showEvents) { addSeenCell(); } } //if (DEVS.EventCount <= 0) //{ // MessageBox.Show("No events"); //} graphics.Clear(); drawFrame(); }