示例#1
0
    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();
        }
    }