У меня были некоторые проблемы с самим собой, и я нашел этот поток, но его код предназначен только для Ints, поэтому я застрял на некоторое время, чтобы заставить его работать не только для int.Я думаю, что @David дал мне некоторую идею, как заставить это работать.Это моя версия для использования типов, отличных от целых.
Vector2 down = new Vector2(0, 1);
Vector2 left = new Vector2(-1, 0);
Vector2 right = new Vector2(1, 0);
List<Vector2> possibleDirections = new List<Vector2>()
{
down,
left,
right
};
Random random = new Random();
Vector2 selectedRandomDirection = possibleDirections[random.Next(0, possibleDirections.Count)];
// this is the result
Vector2 direction = selectedRandomDirection;