Добро пожаловать в официальный ресурс моддинга для капитана отрасли.
COI в настоящее время доступна в Steam и находится на стадии раннего доступа. Хотя моддинг возможен, он еще официально не поддерживается. Мы постоянно работаем над улучшением поддержки моддинга и документации.
Обратите внимание, что поддержка MOD является экспериментальной, а API могут иметь нарушающие изменения. Если у вас возникают проблемы, всегда изучайте журналы в каталоге %APPDATA%/Captain of Industry/Logs
, они содержат много полезной информации. Если вы хотите обсудить темы моддинга с сообществом и разработчиками, посетите наш канал Discord #Modding-Dev-General (вам нужно будет назначить себе роль Mod creation
в канале #pick-your-roles-here
). Вы также можете подать проблемы здесь на GitHub, но время отклика от нашей команды может быть отложено.
Чтобы начать моддинг COI, вам нужно:
Properties...
-> Local Files
-> Browse
.C:/Steam/steamapps/common/Captain of Industry
).COI_ROOT
и установите его значение для корневого пути игры, скопированного выше. В Windows используйте инструмент «Удобное Edit environmental variables
, просто откройте меню «Пуск» и тип Edit env
, и вы должны его увидеть.ExampleMod
в конфигурации Release
, расположенной по адресу src/ExampleMod/ExampleMod.sln
. Мы рекомендуем использовать Visual Studio, но не стесняемся использовать любые другие инструменты, такие как команда консоли dotnet build
. В Visual Studio вы должны увидеть все зависимые сборки, связанные правильно. Если нет, и вы видите много ошибок, проверьте переменную среды COI_ROOT
, попробуйте перезапустить.ExampleMod.dll
в /bin/Release/net471
.%APPDATA%/Captain of Industry
.Mods
каталогов. Внутри него создайте новый каталог, который имеет то же имя, что и ваш мод DLL, в нашем случае это ExampleMod
. Скопируйте скомпилированный ExampleMod.dll
, так что он находится в %APPDATA%/Captain of Industry/Mods/ExampleMod/ExampleMod.dll
. Обратите внимание, что имя каталога и имя DLL должны соответствовать.Miscellaneous
настройках включите поддержку MOD и перезапустите игру, чтобы настройка вступила в силу.ExampleMod
загружаются путем поиска нового узла в дереве исследований (Open с использованием G
-ключа). В случае любых ошибок изучите журналы в %APPDATA%/Captain of Industry/Logs
.Активы, такие как значки или 3D -модели, могут быть созданы с использованием редактора Unity. В настоящее время мы используем Unity 2022.3.5f1, и рекомендуется использовать ту же версию, чтобы избежать несовместимости.
Единственная настройка единства, необходимая для правильных функционирования MAFI.
src/ExampleMod.Unity
. Еще не открывайте.UnityRootSymlink
в srcExampleMod.UnityLibrary
, которая указывает на папку установки Unity (например, C:Program FilesUnityHubEditor2022.3.5f1
). Это может быть сделано, вызывая команду mklink /D <target> <srouce>
в окне консоли с привилегиями администратора. Например: mklink /D "C:CaptainOfIndustryModdingsrcExampleMod.UnityLibraryUnityRootSymlink" "C:Program FilesUnity"
. Когда вы перемещаетесь в UnityRootSymlink
вы должны увидеть в нем один каталог Editor
.src/ExampleMod.Unity/Assets/DLLs/create_dll_hardlinks.bat
. Вам нужно будет запустить его в рамках привилегий администратора (щелкнуть правой кнопкой мыши, запустить как администратор).src/ExampleMod.Unity/Assets/ExampleModScene.unity
в редакторе Unity. Это можно сделать через Unity Hub, выбрав Open project from disk
на вкладке Projects
. Убедитесь, что вы выбираете правильную версию Unity, если у вас установлено несколько.MaFi
в верхнем меню в редакторе Unity. Если нет, связанные DLL не были должным образом загружены, и вы не сможете создавать активы.ExampleModScene
, дважды щелкните на панели Proejct
(он находится под каталогом Assets
).Edit
-> Preferences
).External tools
-> External script editor
-> Open by file extension
. Это прекратит восстановление файлов проекта и размещает абсолютные пути вместо относительных.General
-> Disable Editor Analytics
(если вы можете и хотите).Следующие шаги описывают, как упаковать значки, например, для новых продуктов.
Assets
Create <mod name>/<icons categor>
каталог, в нашем случае, который является ExampleMod/ProductIcons
.Sprite (2D and UI)
и примените изменение.asdf
или выбрать любой существующий.Copy Path
. Этот путь может быть использован для загрузки вашего Prefab в игру. Примечание. В отличие от 3D -моделей, текстуры не должны создавать prefab
.
Следующие шаги описывают, как создать шаблон трехмерной модели, который очень полезны для создания 3D -моделей зданий.
ExampleMachineData.cs
)."TODO"
так как у нас еще нет сбора.generate_layout_entity_mesh_template
с последующим идентификатором объекта. Это генерирует файл OBJ в %APPDATA%/Captain of Industry/Misc/GeneratedMeshTemplates
, который представляет 3D -ограничивающую коробку с макетом вашего нового объекта с точными местоположениями порта.Следующие шаги описывают, как упаковать 3D -модель.
Assets
Create <mod name>/<model name>
каталог, в нашем случае, который является ExampleMod/ExampleModel
..prefab
. В нашем примере мы создали Prefab в каталоге <mod name>
.asdf
или выбрать любой существующий.Copy Path
. Этот путь может быть использован для загрузки вашего Prefab в игру. Как только ваши активы будут готовы, следуйте этим шагам, чтобы упаковать их с вашим модом. Моды опубликованы в каталоге с тем же именем, что и ваш мод DLL, в нашем случае у нас есть ExampleMod/ExampleMod.dll
. Теперь мы можем добавить пакеты активов в тот же каталог.
Ctrl+S
).[MaFi] Build asset bundles
. После того, как Unity будет выполнена обработка, файлы пакета активов можно найти в каталоге src/ExampleMod.Unity/AssetBundles
.src/ExampleMod.Unity/AssetBundles
в папку AssetBundles
рядом с MOD DLL, например %APPDATA%/Captain of Industry/Mods/ExampleMod/AssetBundles
.YourPrefabName_xxxx
, без расширения) и файл mafi_bundles.manifest
. Все остальные файлы .manifest
могут быть удалены, а также файл AssetBundles
. Если вы внесете какие -либо изменения в своих префабах, просто восстановите пакеты активов и копируйте, используйте новые файлы из каталога AssetBundles
.