private void Form1_MouseClick(object sender, MouseEventArgs e) { if (_gameState.GetInConstructionMode()) { _mementosStorer.AddMemento(_gameState.StoreTowersInMemento()); Undo.Visible = true; MouseInput.HandleClick(new TowerFactory(), e.Location, TowerTypes.Arrow); MouseInput.ChangeGameStateBuildingMode(false); MouseInput.MouseState = "Waiting"; Cursor = Cursors.Arrow; _uiButtonsHandler.NextState(); SetButtonEnables(); } }