//----------------- FUNCTION CALLED BY EASY TOUCH QUICK ------------------ //

    /**
     * fungsi ketika drag potongan puzzle
     * */
    public void OnDrag()
    {
        if (nestedObject != null)
        {
            SingleContainerController containerPuzzle = nestedObject.GetComponent <SingleContainerController>();

            if (containerPuzzle != null)
            {
                nestedObject.GetComponent <SingleContainerController>().NestedGameObject = null;
            }
        }

        this.transform.localScale = scaleTo;
    }
    /**
     * fungsi ketika drop potongan puzzle.
     * jika benar akan terpasang.
     * jika salah akan kembali ke posisi semula.
     * */
    public void OnDrop(bool fromTouch)
    {
        if (fromTouch)
        {
            return;
        }

        nestedObject = GetRayGO(Vector3.forward, 1 << 9);

        if (nestedObject == null)
        {
            //back to init pos
            BackToInitPos();
            return;
        }
        else
        {
            SingleContainerController puzzleContainer = nestedObject.GetComponent <SingleContainerController>();
            //nesting object
            if (puzzleContainer == null)
            {
                BackToInitPos();
            }
            else
            {
                if (puzzleContainer.NestedGameObject != null)
                {
                    BackToInitPos();
                }
                else
                {
                    thisTransform.position           = nestedObject.transform.position;
                    thisTransform.localScale         = nestedObject.transform.localScale;
                    puzzleContainer.NestedGameObject = this.gameObject;
                    puzzleGameManager.setArrBool(thisIndex, puzzleContainer.isFit(this.thisIndex));
                }
            }
        }
    }