public GameObject CheckIfMove(ScalePiece piece)
    {
        GameObject scale = null;

        scale = CheckScale(leftScale, piece, ref leftPiece);
        if (scale == null)
        {
            scale = CheckScale(rightScale, piece, ref rightPiece);
        }
        return(scale);
    }
 public void PieceMovedOffScale(ScalePiece piece)
 {
     if (piece == null)
     {
         return;
     }
     Debug.Log("Piece moved off scale");
     if (piece.Equals(leftPiece))
     {
         Debug.Log("Clearing left piece");
         leftPiece = null;
     }
     else if (piece.Equals(rightPiece))
     {
         Debug.Log("Clearing right piece");
         rightPiece = null;
     }
     WeightCompare();
 }
    private GameObject CheckScale(GameObject scale, ScalePiece piece, ref ScalePiece pieceOnScale)
    {
        Debug.Log("Checking target " + scale.name);
        Vector3 wp       = piece.transform.position;
        Vector2 piecePos = new Vector2(wp.x, wp.y);

        if (scale.GetComponent <Collider2D>().OverlapPoint(piecePos))
        {
            Debug.Log("Trying to move piece to piece " + scale.name);
            if (!scale.tag.Equals(kPieceOnTarget))
            {
                pieceOnScale = piece;
                // If it's empty, then do stuff
                return(scale);
            }
            else
            {
                // If there's something on the piece, snap it back
                return(null);
            }
        }
        return(null);
    }