//Handles what happens when a piece is dropped into the puzzle
    void HandlePuzzleDrop(Vector3 pointDrop)
    {
        //get the cell col and row positions
        Vector2 cell = puzzle.GetCellFromPoint(pointDrop);

        //Check the cell is not taken
        if (!puzzle.IsTaken(cell))
        {
            //Position the piece at the center of the cell
            Vector3 newPos = puzzle.GetCellPosition(cell);


            //Position piece on that point
            transform.position = newPos;

            //Make them face to opposite to the panels forward (Fixes the rotation of the object so they lie flat on the panel)
            transform.forward = puzzle.transform.forward;

            //update cell information
            isPlaced    = true;
            currentCell = cell;



            //Check puzzle completion
            puzzle.CheckCompletion();
        }

        //If cell is taken send the piece back to its original position
        else
        {
            SendToSpawnPos();
        }
    }