Jamesthe1-MissionLoader icon

MissionLoader

A BepInEx plugin that loads modded missions for House of the Dying Sun.

Last updated 7 months ago
Total downloads 981
Total rating 0 
Categories Mods Libraries
Dependency string Jamesthe1-MissionLoader-1.1.1
Dependants 1 other package depends on this package

README

MissionLoader

A BepInEx plugin that loads modded missions for House of the Dying Sun.

Using as a library

NOTE: You will need to have a SortieTemplate. It is recommended that the game is decompiled first and an AssetBundle is created.

NOTE: If your node depends on a mission from another mod, please add a BepInDependency to that mod in your plugin so that yours loads after it. This mod does not work well with cyclic dependencies.

MissionLoader comes pre-packed with an event to detect when a scene is completely ready to spawn objects in. This is useful for loading objects from an AssetBundle, as well as spawning new GameObjects.

  1. At the top of your plugin script, add using MissionLoader.
  2. Create a method called OnSceneReady in your plugin class with no arguments.
  3. Inside this method:
    1. Add the line NodeSpawner.SceneReady -= OnSceneReady.
    2. Load your AssetBundle(s) here, if you have any.
    3. Create one or more NamedNodeDatums with the name of your SortieTemplate, a list of the GameObject names of the nodes you want this to connect to, and the name of a GameObject positioned where you want your node to be on the map.
    4. Call NodeSpawner.FindAndReadyNodes and input a list of your NamedNodeDatum(s).
  4. In the Awake method of your plugin, add the line NodeSpawner.SceneReady += OnSceneReady.

You should now have your node(s) spawn in the game with the connections you specified.