grgl1

На Пикабу
поставил 0 плюсов и 0 минусов
100 рейтинг 0 подписчиков 0 подписок 1 пост 0 в горячем

Оптимизированная локализация игры на Unity

Здравствуйте! Разрабатываем игрушку на Unity (пошаговая стратегия), используем как статические объекты (которые всегда находятся на сцене), так и создание объектов из префабов. Встал вопрос локализации.

На данный момент система работает следующий образом:

1) Все текстовые значения хранятся в 4 .csv файлах под разные сцены, значения записаны построчно

Оптимизированная локализация игры на Unity Программирование, Разработка, Unity, Csharp, Локализация

2) Все статические объекты занесены в массив скрипта, контроллер со скриптом есть на каждой сцене

3) При загрузке сцены всем статическим объектам через цикл присваиваются соответствующие значения из текстового файла. Через ReadAllLines в вспомогательный массив заносятся все значения из текстового файла, которые нам нужны и присваиваются значениям текстов.

4) Для текстов, создаваемых кодом, мы используем отдельный метод, который принимает один аргумент в виде числа и через цикл прокручивает текстовый файл до определённой строки, возвращая (return) значение этой самой строки. Во всех скриптах мы просто обращаемся к этому методу и вставляем его с нужным аргументом (номером строки, на которой находится нужное нам значение).

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

Предлагайте свои варианты переделки локализации/ структуры хранения текстов, главное - оптимизированные варианты.

Показать полностью 1
Отличная работа, все прочитано!