示例#1
0
 // TODO: Change this to one method to move in any direction
 public bool MoveRight(GameObject brick, bool updateSide)
 {
     if (directionChecker.CheckRight(brick, gameModel.BrickArray) > 0)
     {
         BrickComponent brickComponent = brick.GetComponent <BrickComponent>();
         brickComponent.Location.x = brickComponent.Location.x + directionChecker.CheckRight(brick, gameModel.BrickArray);
         //UpdateActualLocation(brickComponent.gameObject);
         if (updateSide == true)
         {
             brickComponent.Side = Sides.Right;
         }
         // Update the brick array so that everything is aligned.
         UpdateBrickArray();
         return(true);
     }
     return(false);
 }
示例#2
0
    public bool MoveNewBrick(MoveDirection moveDir)
    {
        DirectionChecker directionChecker = Processors.GetComponent <DirectionChecker>();

        switch (moveDir)
        {
        case MoveDirection.Right:
            if (directionChecker.CheckRight(CurrentActiveBrick, BrickArray) > 0)
            {
                MoveBrick(CurrentActiveBrick, MoveDirection.Right, true);
            }
            break;

        case MoveDirection.Left:
            if (directionChecker.CheckLeft(CurrentActiveBrick, BrickArray) > 0)
            {
                MoveBrick(CurrentActiveBrick, MoveDirection.Left, true);
            }
            break;

        case MoveDirection.Up:
            if (directionChecker.CheckUp(CurrentActiveBrick, BrickArray) > 0)
            {
                MoveBrick(CurrentActiveBrick, MoveDirection.Up, true);
            }
            break;

        case MoveDirection.Down:
            if (directionChecker.CheckDown(CurrentActiveBrick, BrickArray) > 0)
            {
                MoveBrick(CurrentActiveBrick, MoveDirection.Down, true);
            }
            break;

        default:
            break;
        }

        int i = 0;

        while (AddNewPlayBrick() != true)
        {
            AddNewPlayBrick();
            i++;

            if (i >= 256)
            {
                break;
            }
        }
        return(true);
    }