Задать вопрос
@MishkaVNorky

Как запретить редактору вызывать «readonly static» во время редактирования?

Немного тавтология в заголовке.

Может кто в курсе.

Допустим есть скрипт, у него есть статические поля, например:
readonly static string TEST = Localization.Localize("Test");


Но сидя просто в редакторе эти поля инициализируются (и выдается ошибка что он не может получить данные класса Localization, очевидно потому что класс инициализируется при запуске игры).

Я хочу закешировать перевод и занести в статик. Но проблем с этим много и возможно сделать не получится красиво (далее будет ругаться на Application.dataPath, который вызывается при инициализации поля)
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
WNeZRoS
@WNeZRoS
Запретить нельзя.
Простой вариант - добавить в метод Localize заглушку:
#if UNITY_EDITOR // Кода внутри этого #if не будет в собранной версии игры
if (isLocalizationInitialized == false)
    return localicationKey;
#endif
Ответ написан
Комментировать
MrMureno
@MrMureno Куратор тега Unity
VR for all
посмотрите примеры плагинов локализации. в том же ассет сторе.
это паршивый вариант кешировать - сохраняя хардкодом в статик поля.

обычно у плагина локализации есть отдельно фаил ресурсов. где все локализации.
нужную на старте вытащили. в оперативку/сцену запихнули и используете.

это уже само по себе кеширование. от того что вы все это в переменные readonly static понапихаете лучше не станет))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы