void Update() { if (Target != new Vector3(-100f, -100f, -100f)) { if (Mathf.Abs(main.selectedPiece.transform.position.x - Target.x) < .2f && Mathf.Abs(main.selectedPiece.transform.position.z - Target.z) < .2f) { pieceRB.isKinematic = true; pieceRB.velocity = new Vector3(0f, 0f, 0f); main.selectedPiece.transform.position = Target; if (pawnAtEnd) { GameObject newPiece; if (main.P1Turn) { newPiece = (GameObject)Instantiate(Resources.Load("P1Queen")); } else { newPiece = (GameObject)Instantiate(Resources.Load("P2Queen")); } newPiece.transform.position = new Vector3(main.selectedPiece.transform.position.x, newPiece.transform.position.y, main.selectedPiece.transform.position.z); if (main.P1Turn) { main.Player1.RemovePiece(main.selectedPiece); main.Player1.AddPiece(newPiece, "queen", new int[] { (int)(Target.z + 3.5f), (int)(Target.x + 3.5f) }); } else { main.Player2.RemovePiece(main.selectedPiece); main.Player2.AddPiece(newPiece, "queen", new int[] { (int)(Target.z + 3.5f), (int)(Target.x + 3.5f) }); } Destroy(main.selectedPiece); pawnAtEnd = false; } main.selectedPiece = null; main.SpaceSelectable = false; main.P1Turn = !main.P1Turn; main.pieceSelectable = true; main.SetCamera(); Target = new Vector3(-100f, -100f, -100f); } } }