mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Update Docs Again
This commit is contained in:
parent
6aad0edd33
commit
1c99f6c3d4
@ -52,9 +52,14 @@ public interface INewHorizons
|
||||
UnityEvent<string> GetBodyLoadedEvent();
|
||||
|
||||
/// <summary>
|
||||
/// Gets an object in the `extras` object of a config, returns null if the key doesn't exist
|
||||
/// Gets an object in the `extras` object of a body config, returns null if the key doesn't exist
|
||||
/// </summary>
|
||||
object GetExtraModule(Type moduleType, string extrasModuleName, string planetName);
|
||||
object GetExtraModuleForBody(Type moduleType, string extrasModuleName, string planetName);
|
||||
|
||||
/// <summary>
|
||||
/// Gets an object in the `extras` object of a system config, returns null if the key doesn't exist
|
||||
/// </summary>
|
||||
object GetExtraModuleForSystem(Type moduleType, string extrasModuleName, string systemName);
|
||||
|
||||
/// <summary>
|
||||
/// Allows you to overwrite the default system. This is where the player is respawned after dying.
|
||||
|
||||
@ -4,8 +4,6 @@ Description: A guide on extending config files with the New Horizons API
|
||||
Sort_Priority: 5
|
||||
---
|
||||
|
||||
<!-- TODO: When I do systems, some methods will probably be renamed so make sure to update this tutorial -->
|
||||
|
||||
# Extending Configs
|
||||
|
||||
This guide will explain how to use the API to add new features to New Horizons.
|
||||
@ -25,9 +23,9 @@ Addon developers will add a key to the `extras` object in the root of the config
|
||||
}
|
||||
```
|
||||
|
||||
**It's up to the addon dev to list your mod as a dependency!**
|
||||
Your mod will then use the API's `GetExtraModuleForBody` method to obtain the `myCoolExtensionData` object.
|
||||
|
||||
Your mod will then use the API's `GetExtraModule` method to obtain the `myCoolExtensionData` object.
|
||||
**It's up to the addon dev to list your mod as a dependency!**
|
||||
|
||||
## Extending Planets
|
||||
|
||||
@ -48,13 +46,13 @@ public class MyCoolExtensionData {
|
||||
}
|
||||
```
|
||||
|
||||
Then, use the `GetExtraModule` method:
|
||||
Then, use the `GetExtraModuleForBody` method:
|
||||
|
||||
```cs
|
||||
var api = ModHelper.Interactions.TryGetModApi<INewHorizons>("xen.NewHorizons");
|
||||
api.GetBodyLoadedEvent().AddListener((name) => {
|
||||
ModHelper.Console.WriteLine($"Body: {name} Loaded!");
|
||||
var potentialData = api.GetExtraModule(typeof(MyCoolExtensionData), "myCoolExtensionData", name);
|
||||
var potentialData = api.GetExtraModuleForBody(typeof(MyCoolExtensionData), "myCoolExtensionData", name);
|
||||
// Makes sure the module is valid and not null
|
||||
if (potentialData is MyCoolExtensionData data) {
|
||||
ModHelper.Console.WriteLine($"myCoolExtensionProperty for {name} is {data.myCoolExtensionProperty}!");
|
||||
@ -64,4 +62,4 @@ api.GetBodyLoadedEvent().AddListener((name) => {
|
||||
|
||||
## Extending Systems
|
||||
|
||||
<!-- TODO -->
|
||||
Extending systems is the exact same as extending planets, except you use the `GetExtraModuleForSystem` method instead.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user