private void UpdateMouse() { while (!(closing)) { var focused = false; Invoke((MethodInvoker)(() => { focused = Focused; })); if (focused) { if (Mouse.IsButtonPressed(Mouse.Button.Left)) { var position = MousePositionOnGrid(); if (!(position.X < 0 || position.Y < 0 || position.X >= W || position.Y >= H)) { game.SetCellValue(position.X, position.Y, 1); } } if (Mouse.IsButtonPressed(Mouse.Button.Right)) { var position = MousePositionOnGrid(); if (!(position.X < 0 || position.Y < 0 || position.X >= W || position.Y >= H)) { game.SetCellValue(position.X, position.Y, 0); } } } } }