//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); } } }
//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(); } } }
//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"); } } }