public void OnMouseDown()
 {
     //print("Right Clicked");
     if (!Physics2D.OverlapCircle(new Vector3(transform.position.x + gridSize, transform.position.y, transform.position.z), 0.2f, movementBlock))
     {
         if (Physics2D.OverlapCircle(new Vector3(transform.position.x + gridSize, transform.position.y, transform.position.z), 0.3f, sandMask))
         {
             sand = Physics2D.OverlapCircle(new Vector3(transform.position.x + gridSize, transform.position.y, transform.position.z), 0.3f, sandMask).GetComponent <Sand>();
             sand.SandRightCheck();
             if (sand == null)
             {
                 print("Sand not got");
             }
             if (sand.sandMove == true)
             {
                 slidingBlock.RightTrigger();
             }
         }
         else
         {
             slidingBlock.RightTrigger();
         }
     }
     else
     {
         FindObjectOfType <AudioManager>().Play("pieceStopped");
     }
 }
    // Update is called once per frame
    void Update()
    {
        transform.position = Vector3.MoveTowards(transform.position, movePoint.position, moveSpeed * Time.deltaTime);

        if (movementEnabled == true)
        {
            if (Input.GetKeyDown(KeyCode.A) || Input.GetKeyDown(KeyCode.LeftArrow))//Left
            {
                if (!Physics2D.OverlapCircle(new Vector3(movePoint.position.x - gridSize, movePoint.position.y, movePoint.position.z), 0.2f, movementBlock))
                {
                    if (Physics2D.OverlapCircle(new Vector3(movePoint.position.x - gridSize, movePoint.position.y, movePoint.position.z), 0.2f, sandMask))
                    {
                        sand = Physics2D.OverlapCircle(new Vector3(movePoint.position.x - gridSize, movePoint.position.y, movePoint.position.z), 0.2f, sandMask).GetComponent <Sand>();

                        if (sand != null)
                        {
                            sand.SandLeftCheck();
                            canSandMove = sand.sandMove;

                            if (canSandMove == true)
                            {
                                FindObjectOfType <AudioManager>().Play("objectSlide");
                                movePoint.position = new Vector3(movePoint.position.x - gridSize, movePoint.position.y, movePoint.position.z);
                            }
                        }
                    }
                    else
                    {
                        FindObjectOfType <AudioManager>().Play("objectSlide");
                        movePoint.position = new Vector3(movePoint.position.x - gridSize, movePoint.position.y, movePoint.position.z);
                        FindObjectOfType <DialogueManager>().objectMoveTrigger();
                    }
                }
                else
                {
                    FindObjectOfType <AudioManager>().Play("pieceStopped");
                }

                if (onCorrectForm == true)
                {
                    partManager.numOfParts++;
                    onCorrectForm = false;
                }
            }

            else if (Input.GetKeyDown(KeyCode.S) || Input.GetKeyDown(KeyCode.DownArrow)) //Down
            {
                if (!Physics2D.OverlapCircle(new Vector3(movePoint.position.x, movePoint.position.y - gridSize, movePoint.position.z), 0.2f, movementBlock))
                {
                    if (Physics2D.OverlapCircle(new Vector3(movePoint.position.x, movePoint.position.y - gridSize, movePoint.position.z), 0.2f, sandMask))
                    {
                        sand = Physics2D.OverlapCircle(new Vector3(movePoint.position.x, movePoint.position.y - gridSize, movePoint.position.z), 0.2f, sandMask).GetComponent <Sand>();

                        if (sand != null)
                        {
                            sand.SandDownCheck();
                            canSandMove = sand.sandMove;

                            if (canSandMove == true)
                            {
                                FindObjectOfType <AudioManager>().Play("objectSlide");
                                movePoint.position = new Vector3(movePoint.position.x, movePoint.position.y - gridSize, movePoint.position.z);
                            }
                        }
                    }
                    else
                    {
                        FindObjectOfType <AudioManager>().Play("objectSlide");
                        movePoint.position = new Vector3(movePoint.position.x, movePoint.position.y - gridSize, movePoint.position.z);
                        FindObjectOfType <DialogueManager>().objectMoveTrigger();
                    }
                }
                else
                {
                    FindObjectOfType <AudioManager>().Play("pieceStopped");
                }

                if (onCorrectForm == true)
                {
                    partManager.numOfParts++;
                    onCorrectForm = false;
                }
            }

            else if (Input.GetKeyDown(KeyCode.D) || Input.GetKeyDown(KeyCode.RightArrow)) //Right
            {
                if (!Physics2D.OverlapCircle(new Vector3(movePoint.position.x + gridSize, movePoint.position.y, movePoint.position.z), 0.2f, movementBlock))
                {
                    if (Physics2D.OverlapCircle(new Vector3(movePoint.position.x + gridSize, movePoint.position.y, movePoint.position.z), 0.2f, sandMask))
                    {
                        sand = Physics2D.OverlapCircle(new Vector3(movePoint.position.x + gridSize, movePoint.position.y, movePoint.position.z), 0.2f, sandMask).GetComponent <Sand>();

                        if (sand != null)
                        {
                            sand.SandRightCheck();
                            canSandMove = sand.sandMove;

                            if (canSandMove == true)
                            {
                                FindObjectOfType <AudioManager>().Play("objectSlide");
                                movePoint.position = new Vector3(movePoint.position.x + gridSize, movePoint.position.y, movePoint.position.z);
                            }
                        }
                    }
                    else
                    {
                        FindObjectOfType <AudioManager>().Play("objectSlide");
                        movePoint.position = new Vector3(movePoint.position.x + gridSize, movePoint.position.y, movePoint.position.z);
                        FindObjectOfType <DialogueManager>().objectMoveTrigger();
                    }
                }
                else
                {
                    FindObjectOfType <AudioManager>().Play("pieceStopped");
                }

                if (onCorrectForm == true)
                {
                    partManager.numOfParts++;
                    onCorrectForm = false;
                }
            }

            else if (Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.UpArrow)) //Up
            {
                if (!Physics2D.OverlapCircle(new Vector3(movePoint.position.x, movePoint.position.y + gridSize, movePoint.position.z), 0.2f, movementBlock))
                {
                    if (Physics2D.OverlapCircle(new Vector3(movePoint.position.x, movePoint.position.y + gridSize, movePoint.position.z), 0.2f, sandMask))
                    {
                        sand = Physics2D.OverlapCircle(new Vector3(movePoint.position.x, movePoint.position.y + gridSize, movePoint.position.z), 0.2f, sandMask).GetComponent <Sand>();

                        if (sand != null)
                        {
                            sand.SandUpCheck();
                            canSandMove = sand.sandMove;

                            if (canSandMove == true)
                            {
                                FindObjectOfType <AudioManager>().Play("objectSlide");
                                movePoint.position = new Vector3(movePoint.position.x, movePoint.position.y + gridSize, movePoint.position.z);
                            }
                        }
                    }
                    else
                    {
                        FindObjectOfType <AudioManager>().Play("objectSlide");
                        movePoint.position = new Vector3(movePoint.position.x, movePoint.position.y + gridSize, movePoint.position.z);
                        FindObjectOfType <DialogueManager>().objectMoveTrigger();
                    }
                }
                else
                {
                    FindObjectOfType <AudioManager>().Play("pieceStopped");
                }

                if (onCorrectForm == true)
                {
                    partManager.numOfParts++;
                    onCorrectForm = false;
                }
            }
        }

        if (Physics2D.OverlapCircle(transform.position, 0.2f, correctLayer))
        {
            onCorrectForm = true;
        }
        else
        {
            onCorrectForm = false;
        }

        if (onCorrectForm == true && victoryNoiseTrigger == false)
        {
            FindObjectOfType <AudioManager>().Play("correctSlot");
            victoryNoiseTrigger = true;
        }
        else if (onCorrectForm == false)
        {
            //print("false triggered");
            victoryNoiseTrigger = false;
        }
    }