public void Constructor_MouseMove(object sender, MouseEventArgs e) { try { Point p = paper.ConvertToBitmapCoordinate(e); if (Lock == true) { MouseEventArgs newE = new MouseEventArgs(e.Button, e.Clicks, p.X, p.Y, e.Delta); if (group_selector.active == true) { group_selector.MouseMove(sender, newE); return; } foreach (Schematix.FSM.My_Figure figure in SelectedFigureList) { figure.mouse_move(sender, newE); } } else { Schematix.FSM.My_Figure fig = bitmap.SelectElem(p); if (fig != null) { if (SelectedFigure != null) { SelectedFigure.Selected = false; fig.Selected = true; SelectedFigure.Select(bitmap.SelectedColor); SelectedFigure = fig; form.Invalidate(); } else { SelectedFigure = fig; SelectedFigure.Selected = true; SelectedFigure.Select(bitmap.SelectedColor); form.Invalidate(); } } else { if (SelectedFigure != null) { SelectedFigure.Selected = false; SelectedFigure = null; form.Invalidate(); } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Fatal Error :) (MouseMove)", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } }
public int SelectFigure(Position position) { if (MainController.Turn != Color) { return(MOVEMENT_DURING_OPPONENT_TURN_ERROR); } SelectedFigure = MainController.Board.GetFigure(position); if (SelectedFigure == null || SelectedFigure.Color != Color) { return(EMPTY_FIELD_ERROR); } SelectedFigure.SavePossibleMoves(); return(TASK_COMPLETED); }