Создание модуля - Краткое руководство

Модули могут содержать ресурсы, начиная от мешей и заканчивая физическими телами, сценами, объектами игрового процесса, такими как фракции, лорды, войска, предметы, звуки, сценарии и поведения, которые могут запускать любую логику игрового процесса. В этом руководстве будет объяснен процесс его создания.

Создание нового модуля

Модули находятся в папке “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: Содержит данные редактирования ландшафта для каждой сцены. Эта папка может быть отфильтрована перед публикацией мода.