Моддинг в 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

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

Онлайн

Сейчас на сайте: 76
Гостей: 74

Пользователи: 
- отсутствуют

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

MOD Rus 13th Century: Way of the Warrior v2.5
sergosafarelly, 26 июля 2025 14:04
Подскажите, возникла проблема, зависает игра на глобаальной карте, курсор двигается. Как решить...
MOD DRANIN FORTRESS
Hero_of_Calradia, 24 июля 2025 20:35
KaiserReich, нормально...
MOD Ancestors: 2112 BC. An Eastern Bronze Age Mod
Rafa Sanchez, 24 июля 2025 00:04
Saludos a toda la comunidad rusa de este sitio. Soy Rafa, miembro del equipo de desarrollo de 2112...
[OSP] [Code] - New notifications, First blood, Heroism, City buildings
the_raven, 19 июля 2025 22:56
Это для мультиплеера, так? Просто я помню, давно ещё ставил Headshot! в сингл, получилось...
Mount & Blade - Эпоха турниров (Warband) 1.174
Artkolobok, 16 июля 2025 13:10
sergosafarelly, Ты должен быть маршалом и собрать поход, чтобы тебе помогли в осадах. Через кнопку...
MOD Grunwald Mod
Хирлуин из Артедаина, 15 июля 2025 17:18
Если мод не заброшен и версия 0.4 (которая уже по скриншотам и описанию выглядит прекрасно) не...
MOD The Old Realms
Albanslavetrader, 15 июля 2025 09:18
SimbaD, Если комп слабый, загрузка может быть долгой....
Mount & Blade - Эпоха турниров (Warband) 1.174
sergosafarelly, 10 июля 2025 20:04
Подскажите, когда осаждаю город либо крепость , то сопровождающие лорды не присоединяются ко мне в...
MOD Rus 13th Century: Way of the Warrior v2.5
sergosafarelly, 5 июля 2025 15:25
Чапалах, Подскажи, в каком файле менял звуки?...