Моддинг в Bannerlord: MBTextManager


Моддинг в Bannerlord: MBTextManager 

Оригинал статьи - https://docs.bannerlordmodding.com/_csharp-api/localization/MBTextManager.html

Общая информация

MBTextManager - это общедоступный статический класс, который используется для локализации внутриигровых текстов. Он содержит логику обработки текста игры и может использоваться для установки глобальных текстовых переменных. Вы можете найти больше информации о текстовых переменных здесь.


Установка глобальных текстовых переменных

Вы можете установить текстовую переменную в MBTextManager, используя метод SetTextVariable:

MBTextManager.SetTextVariable(tag, textObject);

У него есть несколько перегруженных версий с разными типами аргументов значения.

Любая переменная, установленная в MBTextManager, будет использоваться игровым текстовым процессором для любого TextObject, как если бы она была определена для самого TextObject:

StringHelpers.SetCharacterProperties("CURRENT_LIEGE", forLord.MapFaction.Leader.CharacterObject, null, null, false);
StringHelpers.SetCharacterProperties("NEW_LIEGE", newLiege.CharacterObject, null, null, false);
...
persuasionTask2.SpokenLine =
      new TextObject("{=CymOFgzv}I gave an oath to {CURRENT_LIEGE.LINK} - but {?LORD.GENDER}her{?}his{\\?} disregard for the common people of this realm does give me pause.");

В этом примере метод StringHelpers.SetCharacterProperties используется для сохранения определенных свойств символа в массиве переменных MBTextManager, что делает их глобальными. Затем они используются для формирования нового объекта TextObject для строки диалога с убеждением.

Обратите внимание, что экземпляр TextObject не должен иметь каких-либо определенных атрибутов (собственных текстовых переменных), чтобы иметь доступ к глобальным переменным.


TextContext 

Любая переменная, для которой установлено значение MBTextManager, сохраняется в закрытом поле только для чтения с именем TextContext. TextContext служит в качестве расширенного словаря текстовых переменных и функций (требуется дополнительная информация по этому вопросу) и очищается только в Campaign.OnDestroy(). Имейте в виду, что текстовые переменные можно свободно переписать в любое время с новыми значениями.






- используйте эту кнопку если вы обнаружили ошибку/искажение содержимого/отсутствие контента в новости или если хотите сообщить администрации о выходе новой версии мода и т.п.

Комментариев 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн

Сейчас на сайте: 73
Гостей: 71

Пользователи: 

Последние комментарии

MOD East 1135
iskanderzp, Сегодня, 09:25
Andyboi, Заметил баг, который раньше в Маунтах не встречал. Играю за Сун. Первые город и замок...
MOD East 1135
Andyboi, Вчера, 22:25
молодец, это верно ты подметил...
MOD East 1135
iskanderzp, Вчера, 20:36
https://fex.net/s/ropccfb Кому интересно, скрины доспехов "Горный страж" и "Рев тигра, свист...
MOD East 1135
iskanderzp, Вчера, 15:15
Нашел развалины храма на островке. Перебил толпу конкурентов, нырнул в водичку. В результате...
MOD East 1135
Andyboi, Вчера, 14:50
Цитата: ArtkolobokAndyboi, Буду дома, добавлю в тему ссылки на новые версии.ок...
MOD East 1135
iskanderzp, Вчера, 14:40
Andyboi, доспехи "Горный страж" из племени "Черных варваров" я получил, вылавливая и истребляя этих...
MOD East 1135
Artkolobok, Вчера, 14:38
Andyboi, Буду дома, добавлю в тему ссылки на новые версии....
MOD East 1135
Andyboi, Вчера, 13:48
Цитата: iskanderzpAndyboi, Энди! А не поделитесь ли гайдом по поиску новых квестов и предметов, как...
MOD East 1135
AnatoliyKremen, Вчера, 06:05
Секретная крепость. кто знает где это?...