private void CreatePuzzle() { Vector2 diff; Vector2 mpos = Camera.main.ScreenToWorldPoint(Input.mousePosition); diff.x = mpos.x - target.transform.position.x; diff.y = mpos.y - target.transform.position.x; //Debug.Log("mpos: " + mpos); //Debug.Log("target position: " + target.transform.position); // negative value = left move if (mpos.x <= leftMargin) { // Debug.Log("diff.x: " + diff.x); if (createFlag == false) { createFlag = true; ButtonPuzzle targetBP = target.GetComponent <ButtonPuzzle>(); PuzzleData pd = puzzleData.GetComponent <PuzzleData>(); target = Instantiate(targetBP.pfPuzz, mpos, Quaternion.identity); pd.AddPuzzle(target); worldOriginPosition = mpos; } } return; }