From bddb9ab5cb2a5bfb26d364812f696ff367644d6c Mon Sep 17 00:00:00 2001 From: Raphtalia Date: Mon, 23 Dec 2024 13:31:46 +0000 Subject: [PATCH] Update Setup --- Setup.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Setup.md b/Setup.md index 6496639..09da0ab 100644 --- a/Setup.md +++ b/Setup.md @@ -3,13 +3,15 @@ This guide is to setup DungeonGenerationPlus inside your Unity project and inter # Setting up your Unity project See [nomnom's guide](https://github.com/nomnomab/unity-lc-project-patcher/blob/master/README.md) to setup your Unity project for Lethal Company modding. -See Major's guide for the tutorial in creating an interior. +See Major's guide for the tutorial in creating an interior. The guide is heavily outdated but it should be a good stepping stone to learning the process. [![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/lsQl7P0PYs0/0.jpg)](https://www.youtube.com/watch?v=lsQl7P0PYs0) # Setting up the plugin in your Unity project -Download the `DunGenPlus.dll` through [Thunderstore](https://thunderstore.io/c/lethal-company/p/Alice/DungeonGenerationPlus/) or through this [Github repository](https://git.touhou.dev/Raphtalia/DungeonGenerationPlus_LethalCompany_Mod/src/branch/main/DunGenPlus/DunGenPlus/DunGenPlus/DunGenPlus.dll). Drag and drop the `.dll` file into your interior Unity project, anywhere under `PathToUnityProject/Assets/`. This mod also requires the [LethalLevelLoader](https://github.com/IAmBatby/LethalLevelLoader/blob/main/README.md) plugin to be installed in your Unity project. With just those simple steps, the mod is installed. You can now setup and use this mod's features. +Download the `DunGenPlus.dll` through [Thunderstore](https://thunderstore.io/c/lethal-company/p/Alice/DungeonGenerationPlus/) or through this [Github repository](https://git.touhou.dev/Raphtalia/DungeonGenerationPlus_LethalCompany_Mod/src/branch/main/DunGenPlus/DunGenPlus/DunGenPlus). Drag and drop the `DunGenPlus.dll` file into your interior Unity project, anywhere under `PathToUnityProject/Assets/`. This mod also requires the [LethalLevelLoader](https://github.com/IAmBatby/LethalLevelLoader/blob/main/README.md) plugin to be installed in your Unity project. With just those simple steps, the mod is installed. You can now setup and use this mod's features. + +I also recommended using the custom Editor inspectors. They can be found [here](https://git.touhou.dev/Raphtalia/DungeonGenerationPlus_LethalCompany_Mod/src/branch/main/DunGenPlus/DunGenPlus/DunGenPlus). Same process as before, drag and drop the `DunGenPlusEditor.dll` file into your interior Unity project, anywhere under `PathToUnityProject/Assets/`. By using DungeonGenerationPlus, your mod becomes depended on this mod. DungeonGenerationPlus **MUST** be a mod installed into your Lethal Company mod pack. @@ -67,9 +69,9 @@ public class Plugin : BaseUnityPlugin { ``` -You may want to use these callbacks if you want to have configs for your dungeon generation. For example, my interior has a config to allow the player to specify how many multiple main paths they want spawned. Small party groups may want only two main paths, large party groups may want three, or maybe they just want a vanilla experience with just one main path. As such, I use this callback to easily modify the `MainPathCount`. +You may want to use these callbacks if you want to have configs for your dungeon generation. For example, my interior has a config to allow the player to specify how many multiple main paths they want spawned. Small party groups may want only two main paths, large party groups may want three, or maybe they just want a vanilla experience with just one main path. As such, I use this callback to easily modify the `MainPathCount` before dungeon generation. -> **NOTE:** The copy of the `DunGenExtender's` properties is only a shallow copy. You can replace any value in the copy and it won't affect the corresponding value in the original properties. You **CANNOT** modify any value if it's a reference value. The list `NormalNodeArchetypes` is a reference value; it is the same object for the original and copied properties. You can replace this value in the copy as it will still exist in the original properties. If you modify the value by adding or removing elements, then the changes would be reflected in the original properties as well since they are both the same object. +> **NOTE:** The copy of the `DunGenExtender's` properties is only a shallow copy. You can replace any value in the copy and it won't affect the corresponding value in the original properties. You **CANNOT** modify any value if it's a reference value. For example, the list `NormalNodeArchetypes` is a reference value; it is the same object for the original and copied properties. You can replace this value in the copy as it will still exist in the original properties. If you modify the value by adding or removing elements, then the changes would be reflected in the original properties as well since they are both the same object. The following is a code example of how you may want to use it. Here is also an [example](https://git.touhou.dev/Raphtalia/SDM_LethalCompany_Mod/src/commit/4413d12ea3710b00a7bce3db5f236deb61855f00/ScarletMansion/ScarletMansion/DunGenPatch/Patch.cs#L73) of how my interior uses it. ```cs