private void RegisterButtonActions()
    {
        dropPieceButtonNFO = new TetrisButton.TetrisButtonInfo();
        EventSystem <TetrisControlEvent, TetrisButton.TetrisButtonInfo> .Subscribe(
            TetrisControlEvent.ButtonDown, ButtonDown);

        EventSystem <TetrisControlEvent, TetrisButton.TetrisButtonInfo> .Subscribe(
            TetrisControlEvent.ButtonPressed, ButtonPressed);

        EventSystem <TetrisControlEvent, TetrisButton.TetrisButtonInfo> .Subscribe(
            TetrisControlEvent.ButtonUp, ButtonUp);
    }
 private void ButtonUp(TetrisButton.TetrisButtonInfo buttonInfo)
 {
     if (buttonInfo.buttonAction == TetrisButtonAction.MoveLeft ||
         buttonInfo.buttonAction == TetrisButtonAction.MoveRight)
     {
         ResetDirBtn();
     }
     else
     if (buttonInfo.buttonAction == TetrisButtonAction.Drop)
     {
         dropPieceButtonNFO = buttonInfo;
     }
 }
 private void ButtonPressed(TetrisButton.TetrisButtonInfo buttonInfo)
 {
     if (buttonInfo.buttonAction == TetrisButtonAction.MoveLeft)
     {
         MoveToDir(MoveLeft);
     }
     else
     if (buttonInfo.buttonAction == TetrisButtonAction.MoveRight)
     {
         MoveToDir(MoveRight);
     }
     else
     if (buttonInfo.buttonAction == TetrisButtonAction.Drop)
     {
         dropPieceButtonNFO = buttonInfo;
     }
 }