Пример #1
0
 public static void LookAtOverride()
 {
     if (Selection.gameObjects.Length < 2)
     {
         return;
     }
     MoveUtilities.LookAt(MoveUtilities.FirstSelected(), Vector3.zero, new Axis[0]);
 }
        public void We_Can_Simulate_DiagRightUpMove_Correctly()
        {
            var sut      = new MoveUtilities();
            var response = sut.DiagRightUpMove(1, 1, PhonePad);

            Assert.AreEqual(1, response.Count);
            Assert.AreEqual(0, response[0].NewY);
            Assert.AreEqual(2, response[0].NewX);
        }
        public void We_Can_Simulate_Straight_Left_Move_Correctly()
        {
            var sut      = new MoveUtilities();
            var response = sut.StraightLeftMove(1, 1, PhonePad);

            Assert.AreEqual(1, response.Count);
            Assert.AreEqual(1, response[0].NewY);
            Assert.AreEqual(0, response[0].NewX);
        }
        public void We_Can_Simulate_DiagRightUpMoveInfinity_Correctly()
        {
            var sut      = new MoveUtilities();
            var response = sut.DiagRightUpMoveInfinity(0, 3, PhonePad, new System.Collections.Generic.List <Move>());

            Assert.AreEqual(3, response.Count);
            Assert.AreEqual(1, response[0].NewY);
            Assert.AreEqual(2, response[0].NewX);
        }
Пример #5
0
    //Still need to add functionality to determine whether tile is accessible under certain unit conditions.
    /// <summary>
    /// Uses DFS to find all accessible tile indexes in range of start position on map.
    /// </summary>
    /// <param name="start">Start position.</param>
    /// <param name="range">Range to limit search to.</param>
    /// <returns>Returns hashset containing all accessible tile indexes in range of start position.</returns>
    public HashSet <Vector3Int> getAccessibleTileIndexes(Vector3Int start, int range)
    {
        if (Map.containsIndex(start))
        {
            Debug.LogWarning("Index " + start + " is not in map.");
            return(null);
        }

        HashSet <Vector3Int> visited = new HashSet <Vector3Int>();
        Stack <Vector3Int>   stack   = new Stack <Vector3Int>();

        stack.Push(start);

        while (stack.Count > 0)
        {
            Vector3Int current = stack.Pop();

            if (visited.Contains(current))
            {
                continue;
            }

            visited.Add(current);

            if (MoveUtilities.HorizontalDistanceBetweenIndexes(start, current) < range)
            {
                foreach (Vector3Int direction in directions)
                {
                    Vector3Int neighbor = current + direction;
                    if (!visited.Contains(neighbor) && Map.containsIndex(neighbor))
                    {
                        stack.Push(neighbor);
                    }
                }
            }
        }

        return(visited);
    }
Пример #6
0
 public static void CenterPivot()
 {
     MoveUtilities.MovePivotToChildrenCenter();
 }
Пример #7
0
 public static void ResetRotations()
 {
     MoveUtilities.ResetRotations();
 }
Пример #8
0
 public static void ResetTransforms()
 {
     MoveUtilities.ResetTransforms();
 }
Пример #9
0
 public static void CopyTransform()
 {
     MoveUtilities.CopyTransform();
 }
Пример #10
0
 public static void CopyRotation()
 {
     MoveUtilities.CopyRotation();
 }
Пример #11
0
 public static void CopyTransform()
 {
     MoveUtilities.CopyTransform(DefaultValuesUtilities.DefaultFirstGameObjectSelected());
 }
Пример #12
0
 public static void CopyRotation()
 {
     MoveUtilities.CopyRotation(DefaultValuesUtilities.DefaultFirstGameObjectSelected());
 }