void OnMouseUp() { if (xAxisFree || yAxisFree) { yAxisFree = false; xAxisFree = false; if (translatedObjects != null && translatedObjects.Count > 0) { while (translatedObjects.Count > 0) { FieldElement tempField = new FieldElement(new Vector2(100, 100)); foreach (FieldElement field in translatedObjects) { if (Vector2.Distance(field.Coordinate, FieldContainer.GetFreeFieldElement().Coordinate) < Vector2.Distance(tempField.Coordinate, FieldContainer.GetFreeFieldElement().Coordinate)) { tempField = field; } } MovementHandler.newHoldPoint(tempField.fieldObject); tempField.fieldObject.transform.DOLocalMove(MovementHandler.GetObjectPosition(tempField.fieldObject), 0.5f); translatedObjects.Remove(tempField); } translatedObjects.Clear(); } MovementHandler.newHoldPoint(this.gameObject); gameObject.transform.DOLocalMove(MovementHandler.GetObjectPosition(this.gameObject), 0.5f); ResultHandler.CheckResult(); } }