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
欄目錄中的新文件即可。