Создание модуля - Краткое руководство
Модули могут содержать ресурсы, начиная от мешей и заканчивая физическими телами, сценами, объектами игрового процесса, такими как фракции, лорды, войска, предметы, звуки, сценарии и поведения, которые могут запускать любую логику игрового процесса. В этом руководстве будет объяснен процесс его создания.
Создание нового модуля
Модули находятся в папке “Modules” в корневом каталоге. Он должен содержать XML-файл с именем SubModule.xml. Этот файл содержит основную информацию, такую узлы как “Name”, “ID” и “Version”. Также можно определить зависимые модули внутри узла “DepenendedModules”. Если вы хотите создать однопользовательский мод, он также должен содержать узел “SingleplayerModule”. После этого модуль будет виден в лаунчере.
SubModules могут определять библиотеки DLL, загружаемые во время выполнения. Эти DLL должны содержать класс, который наследуется от “MBSubModuleBase”, а имя должно совпадать с узлом “SubModuleClassType” внутри xml. Этот класс будет создан и будут вызываться определенные обратные вызовы, чтобы он мог регистрировать свое поведение в игре.
Иерархия модуля
В модулях может быть несколько папок, содержащих различные типы контента:
- bin: Скомпилированная DLL должна быть помещена в папку “bin\Win64_Shipping_Client”, чтобы игра могла найти и загрузить DLL.
- Atmospheres: Эта папка содержит различные шаблоны атмосферы, которые можно использовать в игре. Новая атмосфера может быть сохранена в любом модуле из Редактора.
- AssetSources: Эта папка содержит источники для ассетов. Редактор импортирует ресурсы в эту папку. Эта папка может быть отфильтрована перед публикацией мода. Для получения дополнительной информации о добавлении нового содержимого в модуль см. Добавление и изменение ассетов.
- Assets: Эта папка содержит данные об ассетах, полученные из источников контента. Он используется только на этапе разработки мода. Эта папка может быть отфильтрована перед публикацией мода.
- AssetPackages: После завершения работы с содержимым модуля создатель содержимого должен запустить операцию публикации, чтобы подготовить содержимое к выпуску. Этот файл содержит “Опубликованные” ассеты.
- GUI: Эта папка содержит любой новый элемент графического интерфейса, префаб или кисть, которые можно использовать в игре.
- ModuleData: Эта папка содержит множество важных XML-файлов для логики игрового процесса. Файл “project.mbproj” управляет XML-файлами, которые будут загружены в папку. Эти xml-файлы варьируются от анимаций и установки фракций, войск, предметов и т.д.
- NavMeshPrefabs: Группы навигационной сетки можно сохранить в редакторе в качестве шаблонов, чтобы легко вставлять их в несколько сцен. Эта папка содержит таковые.
- Prefabs: Эта папка содержит префабы XML. Для получения дополнительной информации см. Сущности и Префабы.
- SceneObj: Эта папка содержит данные сцены, которые удалены из любых данных редактирования. Серии без ландшафта хранятся только в этой папке.
- SceneEditData: Содержит данные редактирования ландшафта для каждой сцены. Эта папка может быть отфильтрована перед публикацией мода.