Чтобы добавить новый сайт, нужно создать дочерний BrowserEventsListener, заполнить имя/адрес/создать страницы и добавить/запустить свой пользовательский сайт в BrowserGameController.OnInitialize - см. пример в опции CustomSiteExample.
Вы можете либо создавать страницы с нуля (вручную или с помощью пользовательских виджетов Codeware), либо использовать существующие ванильные шаблоны (см. CustomSiteExample).
Для более сложного примера использования смотрите этот мод - Vehicle Insurance (TANSTAAFL Part 1) , который предоставляет полнофункциональный сайт по страхованию автомобилей с несколькими страницами, выделенными ссылками и т.д. Более детально об этом читаем ниже.
Обязательно требуется предварительно установка:
Установка:
- Распаковываем архив и папку
r6
кидаем в папку игры\Cyberpunk2077
на замену. - Запускаем игру.
- Опции ниже не нужны, они для разработчиков.
Опции:
- BrowserExtensionBlockByAddress - Простой скрипт для блокировки сайтов по их адресу (см. инструкцию ниже).
- BrowserExtensionExample - Пример сайта для разработчиков модов.
- BrowserExtensionWKitSrc - Образец чернил и текстуры.
Особенности:
- Система передаст адрес ссылки вашему пользователю, только если он начинается с основного адреса вашего сайта: используйте его для определения всех страниц вашего сайта в методе GetWebPage.
- Ваша пользовательская страница будет переназначена на виджет корневой страницы с якорем, установленным на заполнение - все остальное зависит от вас: корректировка полей, масштаба, обработка событий и т. д.
- Свяжите ваши страницы с помощью метода LoadPageByAddress.
- Вы можете переопределять ванильные сайты по адресу, так как пользовательские сайты обрабатываются первыми (ЗАДАЧА: система переопределения требует доработки, в процессе).
Создание иконки вашего сайта:
- Архив CustomSiteExample содержит проект WolvenKit с необработанной dds-иконкой, xbm-текстурой и inkatlas. Размер иконки составляет 204x229.
Примечания:
- Используйте dds в качестве исходного материала.
- Выберите TEXG_Generic_UI в качестве группы текстур при импорте, отметьте IsGamma и VFlip.
- Выберите TRF_TrueColor для RawFormat и TCM_None для сжатия, снимите все остальные флажки.
- С прозрачностью пока не тестировал - может быть по-другому!
Блокировать сайты по адресу:
- Откройте r6\scripts\BlockByAddress\BlockByAddress.reds блокнотом и откомментируйте (удалите // в начале) сайты, которые вы не хотите видеть в игре. Это простая система (возможно, позже мы сделаем внутриигровой пользовательский интерфейс), позволяющая людям удалять бесполезный шум, однако мы призываем других моддеров попытаться дать этим сайтам жизнь.
ЗАДАЧА:
- Сделайте домашнюю страницу виджетом с возможностью прокрутки (теперь имитирует прокрутку путем перерисовки элементов)