Добро пожаловать в официальный ресурс моддинга для капитана отрасли.
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 .