Unity: конвертировать Vector2 в Vector2Int - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть Vector2, и я хочу преобразовать его в Vector2Int.Я знаю, что могу конвертировать Vector2 примерно так:

Vector2 v2 = new Vector2(10, 10);
Vector2Int v2i;

v2i = new Vector2Int((int) v2.x, (int) v2.y);

Но есть ли более короткий или более эффективный способ?Например что-то вроде этого:

v2i = v2.toVector2Int();

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Вы можете использовать библиотеку automapper и позволить библиотеке сделать всю работу за вас.Вызов будет выглядеть примерно так:

Vector2Int v2i = Mapper.Map<Vector2>(v2);

Преимущество Autopper заключается в том, что это очень мощный инструмент, который скрывает всю эту неприятную логику отображения для вас.

0 голосов
/ 16 февраля 2019

Вы можете использовать методы расширения, чтобы сделать его более читабельным:

public static Vector2 ToInt2(this Vector2 v)
{
    return new Vector2Int((int)v.x, (int)v.y);
}

И использовать его так:

Vector2 v2 = new Vector2(10, 10);
Vector2Int v2i = v2.ToInt2();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...