public void DropPiece() { if (selectedPiece == null) { //StateManager.Instance.state = StateManager.State.matching; return; } selectedPiece = null; selectBox.anchoredPosition = new Vector2(-432, 0); verticalSelectLine.gameObject.SetActive(false); horizontalSelectLine.gameObject.SetActive(false); cDir = 0; if (moving == null || moveAmount == 0) { //StateManager.Instance.state = StateManager.State.matching; return; } if (moveAmount > 0) { int j = 8 - moveAmount; for (int i = 8; i > 3; i--) { moving[i].value = moving[j].value; moving[i].RestSprite(game.pieces[moving[i].value - 1]); j--; } } else if (moveAmount < 0) { int j = 4 - moveAmount; for (int i = 4; i < 9; i++) { moving[i].value = moving[j].value; moving[i].RestSprite(game.pieces[moving[i].value - 1]); j++; } } foreach (NodePiece piece in moving) { piece.MovePositionBack(); } cDir = 0; game.UpdateNodeData(); game.CopyBoard(); moving = null; }