Всем привет.
Время идёт, меняются старые решения, оптимизируются, улучшаются.
Это нормальный процесс для большого проекта, но иногда подобные процессы затрагивают привычные методы модифицирования клиента игры.
В данной теме я опубликую решение которое поможет работать с элементом "Компас" и его отдельными частями в текущих реалиях.
Вообще есть два решения.
Первое решение, это частичная работа с файлом battle_layout.xml и редакция файла compass.unbound
Оно вполне подходит для быстрого воплощения, но имеет некоторые минусы (проблемы с скалированием, отсутствие гибкости по разрешению экрана пользователя, лишний багаж файлов).
Плюс ко всему при оптимизации клиента игры некоторые части попросту убираются из него, переезжая в другой мир.
Второе решение, это работа с Unbound 2.
Собственно само решение выглядит так:
Создаём файл Mod_compass.unbound
И вносим туда следующий код
Оригинальный кусок кода в файле compass.unbound выглядит так (это просто для сравнения!):
В файле unbound_settings.xml добавляем строку:
<file>./gui/unbound2/pc/battle/Mod_compass.unbound</file>
ВНИМАНИЕ!!! данная строка обрабатывается по правилу сортировки алфавита!
Первыми обрабатываются спецсимволы, например (!)
Затем заглавные буквы (A, B, C, D) в алфавитном порядке
Затем строчные буквы (a, b, c, d) в алфавитном порядке
Очень важно чтобы ваш модифицированный файл обработался загрузчиком первее оригинального.
Настройки размещения элемента.
(var compassScaleRatio:number = "0.6") - переменная отвечает за скалирование объекта, где 1.0 является 100% размером объекта
(var leftOffset:number = "stageWidth / 2 - COMPASS_SIZE * compassScaleRatio / 2 - 20") - переменная для размещения по горизонтали, где 20 это компенсация отступа объекта указанная в файле battle_layout и в текущем виде выставляет элемент по центру
(var bottomOffset:number = "stageHeight / 2 - COMPASS_SIZE * compassScaleRatio / 2 - 250") - переменная для размещения по вертикали, где 250 это смещение от центра экрана
При желании убрать "лишний" круг вокруг компаса, просто добавляем в наш модифицированный файл оригинальный кусочек кода с закомментирированным значением элемента компаса:
и в итоге получаем такую картину:
Чуть не забыл :)
Здесь прикреплю архивчик с готовым решением в качестве образца gui.zip
Верю в вас, что вы понимаете что файл unbound_settings.xml может иногда изменятся и вы конечно будете сверять с оригинальным файлом из каждого патча (ну строку то вписывать надо же), это не сложно :)
Поможет вам в этом, размечтательная тулза по извлечению файлов клиента игры из пэкэджей, вот из этой темы: [ALL] WOWS Unpack Tool: распаковка ресурсов клиента игры.
А, вспомнил!
Данная модификация не ломает ни один другой мод и может спокойно использоваться с любыми другими модами.
С уважением,