Captain of industry modding
1.0.0
欢迎来到行业船长的官方改装资源。
COI目前在Steam上可用,并且在早期访问阶段。虽然可以进行修改,但尚未得到正式支持。我们一直在努力改善改装支持和文档。
请注意,MOD支持是实验性的,API可能会发生破坏。如果您有问题,请始终检查%APPDATA%/Captain of Industry/Logs
目录中的日志,它们包含许多有用的信息。如果您想与社区和开发人员讨论改装主题,请访问我们的Discord频道#MIDDDING-DEV将军(您需要在#pick-your-roles-here
频道中为自己分配Mod creation
角色)。您还可以在GitHub上提交问题,但是我们团队的响应时间可能会延迟。
为了开始改装COI,您将需要:
Properties...
> Local Files
- > Browse
中的游戏标题上的游戏标题上的COI游戏文件。C:/Steam/steamapps/common/Captain of Industry
)。COI_ROOT
的新环境变量,并将其值设置为上面复制的游戏根路径。在Windows上,使用方便的Edit environmental variables
工具,只需打开“开始”菜单并键入Edit env
,您应该看到它。src/ExampleMod/ExampleMod.sln
的Release
配置中编译ExampleMod
。我们建议使用Visual Studio,但可以随意使用任何其他工具,例如dotnet build
Console命令。在Visual Studio中,您应该看到正确链接的所有因组件。如果没有,并且您看到了很多错误,请检查您的环境COI_ROOT
变量,请尝试重新启动。/bin/Release/net471
中找到所得的ExampleMod.dll
。%APPDATA%/Captain of Industry
。Mods
。在其中,创建一个新目录,该目录的名称与您的mod dll相同,在我们的情况下,它是ExampleMod
。在此复制编译的ExampleMod.dll
,以便它为%APPDATA%/Captain of Industry/Mods/ExampleMod/ExampleMod.dll
。请注意,目录名称和DLL名称必须匹配。Miscellaneous
设置中启用MOD支持并重新启动游戏,以便设置生效。G
键打开)来加载ExampleMod
。如果发生任何错误,请检查%APPDATA%/Captain of Industry/Logs
中的日志。可以使用Unity编辑器来创建图标或3D模型之类的资产。我们目前使用Unity 2022.3.5F1,建议使用相同的版本来避免不兼容。
MAFI工具正常运行所需的一次性Unity设置。
src/ExampleMod.Unity
中找到测试场景。不要打开它。C:Program FilesUnityHubEditor2022.3.5f1
)的srcExampleMod.UnityLibrary
中的名为UnityRootSymlink
的目录链接。这可以通过使用Admin Priviliges中的控制台窗口中调用mklink /D <target> <srouce>
命令来完成。例如: mklink /D "C:CaptainOfIndustryModdingsrcExampleMod.UnityLibraryUnityRootSymlink" "C:Program FilesUnity"
。当您导航到UnityRootSymlink
时,您应该在其中看到一个单个Editor
目录。src/ExampleMod.Unity/Assets/DLLs/create_dll_hardlinks.bat
批处理文件,为您的Steam安装中的必要DLL创建硬链链接。您需要在管理特权(右键单击,作为管理员运行)下运行它。src/ExampleMod.Unity/Assets/ExampleModScene.unity
中打开测试场景。这可以通过Unity Hub从Projects
选项卡中Open project from disk
来完成。如果安装了多个,请确保选择正确的Unity版本。MaFi
。如果没有,链接的DLL无法正确加载,您将无法创建资产。Proejct
窗格中(在Assets
目录下)打开ExampleModScene
。Edit
- > Preferences
)中更改以下设置。External tools
- > External script editor
- > Open by file extension
。这将停止再生项目文件并放置绝对路径而不是相对。General
- > Disable Editor Analytics
(如果可以的话,请)。以下步骤描述了如何打包图标,例如新产品。
Assets
目录下,创建<mod name>/<icons categor>
目录,在我们的情况下是ExampleMod/ProductIcons
。Sprite (2D and UI)
类型并应用更改。asdf
的新捆绑包或选择任何现有的捆绑包。Copy Path
。该路径可用于在游戏中加载预制。注意:与3D型号不同,纹理不需要创建prefab
。
以下步骤描述了如何创建一个在创建3D建筑物模型的3D模型模板。
ExampleMachineData.cs
)。"TODO"
因为我们还没有预制。generate_layout_entity_mesh_template
然后是您的实体ID。这将在%APPDATA%/Captain of Industry/Misc/GeneratedMeshTemplates
中生成一个OBJ文件,该文件代表您新实体的3D边界布局,并具有精确的端口位置。以下步骤描述了如何打包3D模型。
Assets
目录下,创建<mod name>/<model name>
目录,在我们的情况下是ExampleMod/ExampleModel
。.prefab
文件。在我们的示例中,我们在<mod name>
目录中创建了预制。asdf
新临时捆绑包或选择任何现有的捆绑包。Copy Path
。该路径可用于在游戏中加载预制。资产准备就绪后,请按照以下步骤将其包装为您的mod。 mods以与您的mod dll相同的目录发布,在我们的情况下,我们具有ExampleMod/ExampleMod.dll
。现在,我们可以在同一目录中添加资产捆绑包。
Ctrl+S
)。[MaFi] Build asset bundles
。完成UNITY处理后,可以在src/ExampleMod.Unity/AssetBundles
目录中找到资产捆绑文件。src/ExampleMod.Unity/AssetBundles
的内容到MOD DLL旁边的AssetBundles
文件夹,例如%APPDATA%/Captain of Industry/Mods/ExampleMod/AssetBundles
。YourPrefabName_xxxx
,而无需扩展)和mafi_bundles.manifest
文件。所有其他.manifest
文件都可以删除以及AssetBundles
文件。如果您对预制措施进行任何更改,只需重建资产捆绑包,然后复制使用AssetBundles
栏目录中的新文件即可。