Отображение текста между несколькими строками - PullRequest
0 голосов
/ 10 января 2020

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

if (guess < Joules)
{
    Joulestext.text = "Oops...entered less than minimum amount of Joules .";
}

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

Ответы [ 2 ]

1 голос
/ 10 января 2020

Одним из возможных решений является следующее: создайте массив сообщений и выберите один случайный случай, если необходимо.

string[] messages = new string[] {"msg1", "msg2", .... "msgn"};
Random rnd = new Random();

if (guess < Joules)
{
    var index = rnd.Next(0, messages.Length);
    var msg = messages[index];
    Joulestext.text = msg;
}
0 голосов
/ 10 января 2020

Простое решение с использованием Linq:

var messages = new List<string>
{
    "message 1",
    "message 2",
    "message 3",
    "message 4",
    "message 5"
    //...
};

if (guess < Joules)
{
    Joulestext.text = messages
        .OrderBy(m => Guid.NewGuid())
        .First();
}

Чтобы рандомизировать сообщения, их просто упорядочивают новые гиды.

...