Как вставлять в заготовленный текст имя?
У меня есть заготовленный текст(Который указывается в самом юнити). Нужно, чтобы в этом тексте вставлялось имя игрока. Как это сделать?
_textDialog.text = text[_textIndex]; // Например "Привет {name}!".
//Также есть и текст БЕЗ употребления имени: "Привет друг"
То, что мне нужно(Пример) в выводе: Привет ИМЯ!
Как создаётся текст:
Ответы (2 шт):
Автор решения: TniF_GameS
→ Ссылка
Ты указал, что вставлять, а откуда брать ты не указал. Да и вообще, стоит написать вот так
_textDialog.text = text[0].Replace("{name}",Name);
Автор решения: Alexey
→ Ссылка
private string BuildArgs(string message, params string[] args)
{
string temp = message;
int lastIndex = 0;
for (int iterator = 0; iterator < args.Length; iterator++)
{
lastIndex = temp.IndexOf("%s", lastIndex);
if (lastIndex == -1)
throw new ArgumentOutOfRangeException();
temp = temp.Remove(lastIndex, 2);
temp = temp.Insert(lastIndex, args[iterator]);
}
return temp;
}
EXAMPLE:
string message = "Hi, %s. how are you?";
string insertArg = "Vova";
Debug.Log(BuildArgs(message, insertArg));
