Bienvenue dans la ressource de modding officielle pour le jeu du capitaine de l'industrie.
COI est actuellement disponible sur Steam et il est en phase d'accès précoce. Bien que le modding soit possible, il n'est pas encore officiellement soutenu. Nous travaillons continuellement sur l'amélioration du support et de la documentation du modding.
Notez que le support MOD est expérimental et les API pourraient avoir des changements de rupture. Si vous rencontrez des problèmes, examinez toujours les journaux dans le répertoire %APPDATA%/Captain of Industry/Logs
, ils contiennent beaucoup d'informations utiles. Si vous souhaitez discuter de sujets de modding avec la communauté et les développeurs, visitez notre canal Discord # modding-dev-général (vous devrez vous attribuer un rôle Mod creation
dans le canal #pick-your-roles-here
). Vous pouvez également déposer des problèmes ici sur GitHub, mais le temps de réponse de notre équipe pourrait être retardé.
Afin de commencer à modding COI, vous devrez:
Properties...
-> Local Files
-> Browse
.C:/Steam/steamapps/common/Captain of Industry
).COI_ROOT
et définissez sa valeur sur le chemin racine du jeu copié ci-dessus. Sur Windows, utilisez l'outil Handy Edit environmental variables
, ouvrez simplement le menu Démarrer et tapez Edit env
et vous devriez le voir.ExampleMod
dans la configuration Release
située à src/ExampleMod/ExampleMod.sln
. Nous vous recommandons d'utiliser Visual Studio, mais n'hésitez pas à utiliser d'autres outils, tels que la commande dotnet build
Console. Dans Visual Studio, vous devriez voir tous les assemblages dépendants liés correctement. Sinon, et vous voyez beaucoup d'erreurs, vérifiez votre variable COI_ROOT
environnementale, essayez de redémarrer.ExampleMod.dll
résultant dans /bin/Release/net471
.%APPDATA%/Captain of Industry
.Mods
de répertoire. À l'intérieur, créez un nouveau répertoire qui a le même nom que votre DLL MOD, dans notre cas, c'est ExampleMod
. Copiez le compilé ExampleMod.dll
, afin qu'il soit à %APPDATA%/Captain of Industry/Mods/ExampleMod/ExampleMod.dll
. Notez que le nom du répertoire et le nom de la DLL doivent correspondre.Miscellaneous
permettent la prise en charge du mod et redémarrez le jeu afin que le paramètre prenne effet.ExampleMod
est chargé en localisant un nouveau nœud dans l'arborescence de recherche (ouvrir à l'aide de la clé G
). En cas d'erreurs, examinez les journaux dans le répertoire %APPDATA%/Captain of Industry/Logs
.Des actifs tels que des icônes ou des modèles 3D peuvent être créés à l'aide de l'éditeur Unity. Nous utilisons actuellement Unity 2022.3.5f1 et il est recommandé d'utiliser la même version pour éviter les incompatibilités.
Configuration d'unité unique nécessaire pour que les outils MAFI fonctionnent correctement.
src/ExampleMod.Unity
. Ne l'ouvrez pas encore.UnityRootSymlink
dans srcExampleMod.UnityLibrary
qui pointe vers le dossier d'installation d'Unity (par exemple C:Program FilesUnityHubEditor2022.3.5f1
). Cela peut être fait en invoquant la commande mklink /D <target> <srouce>
dans la fenêtre de la console avec des privilières d'administration. Par exemple: mklink /D "C:CaptainOfIndustryModdingsrcExampleMod.UnityLibraryUnityRootSymlink" "C:Program FilesUnity"
. Lorsque vous naviguez vers le UnityRootSymlink
vous devriez y voir un répertoire Editor
unique.src/ExampleMod.Unity/Assets/DLLs/create_dll_hardlinks.bat
Fichier batch. Vous devrez l'exécuter sous privilèges d'administration (cliquez avec le bouton droit, exécutez en tant qu'administrateur).src/ExampleMod.Unity/Assets/ExampleModScene.unity
dans l'éditeur Unity. Cela peut être fait via Unity Hub en sélectionnant Open project from disk
dans l'onglet Projects
. Assurez-vous de sélectionner la bonne version Unity si vous avez plusieurs installés.MaFi
dans le menu supérieur de l'éditeur Unity. Sinon, les DLL liés n'étaient pas correctement chargés et vous ne pourrez pas créer des actifs.ExampleModScene
par Double-Clickin dessus dans le volet Proejct
(il est sous répertoire Assets
).Edit
-> Preferences
).External tools
-> External script editor
-> Open by file extension
. Cela empêchera la régénération des fichiers de projet et la mise en place de chemins absolus au lieu de relatives.General
-> Disable Editor Analytics
(si vous pouvez et le souhaitez).Les étapes suivantes décrivent comment emballer les icônes, par exemple pour de nouveaux produits.
Assets
Créer <mod name>/<icons categor>
répertoire, dans notre cas qui est ExampleMod/ProductIcons
.Sprite (2D and UI)
et appliquez la modification.asdf
ou en choisir un existant.Copy Path
. Ce chemin peut être utilisé pour charger votre Prefab dans le jeu. Remarque: Contrairement aux modèles 3D, les textures n'ont pas besoin de créer un prefab
.
Les étapes suivantes décrivent comment créer un modèle de modèle 3D qui est très bénéfique dans la création de modèles 3D de bâtiments.
ExampleMachineData.cs
)."TODO"
car nous n'avons pas encore de préfabriqué.generate_layout_entity_mesh_template
suivie de votre ID entité. Cela générera un fichier OBJ dans %APPDATA%/Captain of Industry/Misc/GeneratedMeshTemplates
qui représente une boîte de limite 3D de mise en page de votre nouvelle entité avec des emplacements de port exacts.Les étapes suivantes décrivent comment emballer un modèle 3D.
Assets
Create <mod name>/<model name>
Répertoire, dans notre cas, ExampleMod/ExampleModel
..prefab
. Dans notre exemple, nous avons créé le préfabriqué dans le répertoire <mod name>
.asdf
ou en choisir un existant.Copy Path
. Ce chemin peut être utilisé pour charger votre Prefab dans le jeu. Une fois que vos actifs sont prêts, suivez ces étapes pour les emballer avec votre mod. Les mods sont publiés dans un répertoire avec le même nom que votre DLL MOD, dans notre cas, nous avons ExampleMod/ExampleMod.dll
. Maintenant, nous pouvons ajouter des faisceaux d'actifs au même répertoire.
Ctrl+S
).[MaFi] Build asset bundles
. Une fois l'unité terminée le traitement, les fichiers de bundle d'actifs peuvent être trouvés dans le répertoire src/ExampleMod.Unity/AssetBundles
.src/ExampleMod.Unity/AssetBundles
dans le dossier AssetBundles
à côté de Mod DLL, par exemple %APPDATA%/Captain of Industry/Mods/ExampleMod/AssetBundles
.YourPrefabName_xxxx
, sans extension) et le fichier mafi_bundles.manifest
. Tous les autres fichiers .manifest
peuvent être supprimés ainsi que le fichier AssetBundles
. Si vous effectuez des modifications à vos préfabriques, reconstruisez simplement les bundles Asset et copiez, utilisez les nouveaux fichiers à partir du répertoire AssetBundles
.