Пример #1
0
 //MOVEMENT
 void Move(moveDirDelegate movementDirection)
 {
     Debug.DrawRay(transform.position, distance * movementDirection(), Color.magenta, 10f);
     if ((int)transform.rotation.eulerAngles.y % 10 == 0)
     {
         if (Physics.Raycast(transform.position, distance * movementDirection(), distance) == false)
         {
             transform.Translate(distance * movementDirection(), Space.World);
         }
     }
     else
     {
         if (Physics.Raycast(transform.position, diagonalDistance * movementDirection(), distance) == false)
         {
             transform.Translate(diagonalDistance * movementDirection(), Space.World);
         }
     }
 }
Пример #2
0
        //MOVEMENT

        private void Move(moveDirDelegate movementDirection)
        {
            Debug.DrawRay(transform.position, distance * movementDirection(), Color.magenta, 10f);
            if (Mathf.Approximately(Mathf.RoundToInt(transform.rotation.eulerAngles.y) % 10, 0))                        //not working properly
            {
                if (Physics.Raycast(transform.position, distance * movementDirection(), distance) == false)
                {
                    transform.Translate(distance * movementDirection(), Space.World);
                    gc.EndPlayerTurn();
                }
            }
            else
            {
                if (Physics.Raycast(transform.position, diagonalDistance * movementDirection(), distance) == false)
                {
                    transform.Translate(diagonalDistance * movementDirection(), Space.World);
                    gc.EndPlayerTurn();
                }
            }
        }
Пример #3
0
 //MOVEMENT
 void Move(moveDirDelegate movementDirection)
 {
     Debug.DrawRay(transform.position, distance * movementDirection(), Color.magenta, 10f);
     //Debug.Log(transform.position);
     //Debug.Log("local" + transform.localPosition);
     if ((int)transform.rotation.eulerAngles.y % 10 == 0)
     {
         if (Physics.Raycast(transform.position, distance * movementDirection(), distance) == false)
         {
             //transform.Translate(distance * movementDirection(), Space.World);
             Movement.Translate(transform, distance * movementDirection());
             //Debug.Log("Perpendicular");
         }
     }
     else
     {
         if (Physics.Raycast(transform.position, diagonalDistance * movementDirection(), distance) == false)
         {
             //transform.Translate(diagonalDistance * movementDirection(), Space.World);
             Movement.Translate(transform, distance * movementDirection());
             //Debug.Log("Diagonal");
         }
     }
 }