예제 #1
0
        /// <summary>
        /// Rereshes the user interface.
        /// </summary>
        public void RefreshUserInterface()
        {
            GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
            if (GameUserIterface.InvokeRequired)
            {
                RefreshScreen rs = new RefreshScreen(RefreshUserInterface);
                try
                {
                    GameUserIterface.Invoke(rs);
                }
#pragma warning disable CS0168 // Variable is declared but never used
                catch (ObjectDisposedException e)
#pragma warning restore CS0168 // Variable is declared but never used
                {
                    //The program has exited, no point in updating the screen
                }
#pragma warning disable CS0168 // Variable is declared but never used
                catch (System.ComponentModel.InvalidAsynchronousStateException e)
#pragma warning restore CS0168 // Variable is declared but never used
                {
                    //The program has exited, no point in updating the screen
                }
#pragma warning disable CS0168 // Variable is declared but never used
                catch (Exception e)
#pragma warning restore CS0168 // Variable is declared but never used
                {
                    //General catch to catch other thread related errors that rarely happens and are hard to force.
                }
            }
            else
            {
                GameUserIterface.Refresh();
            }
        }
예제 #2
0
 /// <summary>
 /// Handles logic for when the space bar is pressed.
 /// </summary>
 public void DropTetrominoAllTheWay()
 {
     Model.DropActiveTetromino();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }
예제 #3
0
 /// <summary>
 /// Handles logic for the down arrow key pressed.
 /// </summary>
 public void RotateTetrominoAnticlockwise()
 {
     Model.RotatActiveTetrominoToTheLeftIfPossible();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }
예제 #4
0
 /// <summary>
 /// Handle logic for up arrow key pressed.
 /// </summary>
 public void RotatTetrominoClockwise()
 {
     Model.RotatActiveTetrominoToTheRightIfPossible();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }
예제 #5
0
 /// <summary>
 /// Handles logic for left arrow key pressed.
 /// </summary>
 public void MoveTetrominoLeft()
 {
     Model.MoveActiveTetrominoToTheLeftIsPossible();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }
예제 #6
0
 /// <summary>
 /// Handles logic for right arrow key pressed.
 /// </summary>
 public void MoveTetrominoRight()
 {
     Model.MoveActiveTetrminoToTheRightIfPossible();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }