Документация
Docs/ru/reference/text-format/runtime.md
Runtime API текста
Сгенерированный справочник. Не редактируйте его напрямую. Обновите
BuildTools/TextFormatInterface.json, затем выполнитеpython BuildTools/docs_text_format.py --write.
| Индекс | Синтаксис | Языки | Текст прототипов | Runtime | Проверка | Канонический JSON | Руководство |
Точными экспортируемыми сигнатурами владеет сгенерированный справочник API. Эта страница описывает выбор, поведение при отсутствии данных и доступность по сторонам.
Script-методы
| Стабильный ID | Сигнатура | Стороны | Поведение | Отсутствующие или некорректные данные | Источник |
|---|---|---|---|---|---|
text-format.runtime.get-language |
LanguageName Game.GetLanguage() |
server, client, mapper |
Возвращает текущий язык экземпляра движка в строгой обёртке LanguageName; настроенное значение Client.Language служит только стартовым значением. | Неприменимо. | Source/Scripting/CommonGlobalScriptMethods.cpp |
text-format.runtime.get-current-text |
string Game.GetText(TextPackKey textKey) |
client, mapper |
Возвращает первый вариант из текущего языка клиента. | Отсутствующий ключ возвращает пустую строку. | Source/Scripting/ClientGlobalScriptMethods.cpp |
text-format.runtime.get-indexed-text |
string Game.GetText(TextPackKey textKey, int32 textIndex) |
client, mapper |
Возвращает вариант из текущего языка клиента, выбранный textIndex по индексу с нуля. | Отсутствующий ключ или выход за диапазон возвращает пустую строку; отрицательный индекс вызывает исключение. | Source/Scripting/ClientGlobalScriptMethods.cpp |
text-format.runtime.get-language-text |
string Game.GetText(string langName, TextPackKey textKey) |
client, mapper |
Пустой langName или текущий язык использует текущий пакет; другой langName загружает либо повторно использует кешированный пакет и возвращает первый вариант. | Для отсутствующего или неподдерживаемого непустого языка нет автоматического fallback, поэтому ключ даёт пустую строку. | Source/Scripting/ClientGlobalScriptMethods.cpp, Source/Client/Client.cpp |
text-format.runtime.get-count |
int32 Game.GetTextCount(TextPackKey textKey) |
server, client, mapper |
Возвращает число вариантов, сохранённых под полным ключом. | Возвращает ноль при отсутствии ключа. | Source/Scripting/ClientGlobalScriptMethods.cpp, Source/Scripting/ServerGlobalScriptMethods.cpp |
text-format.runtime.is-present |
bool Game.IsTextPresent(TextPackKey textKey) |
server, client, mapper |
Сообщает, существует ли хотя бы один вариант под полным ключом. | Возвращает false при отсутствии ключа. | Source/Scripting/ClientGlobalScriptMethods.cpp, Source/Scripting/ServerGlobalScriptMethods.cpp |
text-format.runtime.change-language |
void Game.ChangeLanguage(string langName) |
client, mapper |
Загружает langName в текущий пакет клиента и обновляет текущее состояние языка, принадлежащее движку, не изменяя настроенную стартовую настройку Client.Language. | Engine не проверяет идентификатор, не применяет другой fallback и не вызывает callback проекта для обновления GUI. | Source/Scripting/ClientGlobalScriptMethods.cpp, Source/Client/Client.cpp |
text-format.runtime.server-boundary |
server: IsTextPresent and GetTextCount only |
server |
Сервер загружает один пакет из настроенного стартового значения Client.Language и предоставляет запросы наличия и количества. | В API Engine нет server script overload Game.GetText. | Source/Server/Server.cpp, Source/Scripting/ServerGlobalScriptMethods.cpp |
Встроенные теги рендерера
| Стабильный ID | Правило | Требование | Причина | Источник |
|---|---|---|---|---|
text-format.rendering.inline-color |
Встроенные цветовые теги | Клиентский рендерер шрифтов распознаёт @color:HEX@ для добавления цвета из шести или восьми шестнадцатеричных цифр и @color@ для восстановления предыдущего цвета. | Цветовые теги являются синтаксисом рендерера, независимым от разбора текстового пакета и проектного форматирования lexem. | Source/Client/FontManager.cpp |
text-format.rendering.no-colorize |
NoColorize | FontFlag.NoColorize удаляет допустимые встроенные цветовые теги, отрисовывая все глифы базовым цветом. | Проход форматирования всегда удаляет распознанные теги, но записывает цвета отдельных глифов только при включённой колоризации. | Source/Client/FontManager.h, Source/Client/FontManager.cpp |
Движок не интерпретирует игровые lexem наподобие тегов имени игрока, пола, аргумента, вложенного текста или случайного выбора. Подключаемый проект, добавляющий их, владеет их грамматикой, тестами, диагностикой и порядком относительно цветовых тегов рендерера.