mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Update contributing guide for schemas
This commit is contained in:
parent
47e02fd0dd
commit
07c803cdc7
@ -18,9 +18,48 @@ This will automatically build to your mods directory in OWML (so long as it's in
|
||||
To save yourself the pain of decoding where in a function an error occured, you can [download this dll file](https://cdn.discordapp.com/attachments/929787137895854100/936860223983976448/mono-2.0-bdwgc.dll) and place it in `MonoBleedingEdge/EmbedRuntime` of the game's folder.
|
||||
Then (so long as you build targeting `Debug`), line numbers will be shown in any error that comes from New Horizons
|
||||
|
||||
## Update the Schema!
|
||||
## Updating The Schema
|
||||
|
||||
If you make any changes that edit basically anything in the [External](NewHorizons/External) folder, please update the relevant schemas.
|
||||
When you add fields to config classes, please document them using XML documentation so that our action can generate a proper schema.
|
||||
|
||||
```cs
|
||||
/// <summary>
|
||||
/// This is my new field!
|
||||
/// </summary>
|
||||
public string myField;
|
||||
```
|
||||
|
||||
You can also use `Range` (from `System.ComponentModel.DataAnnotations` NOT Unity), and `DefaultValue`:
|
||||
|
||||
```cs
|
||||
/// <summary>
|
||||
/// This is my new field!
|
||||
/// </summary>
|
||||
[Range(0, 100)]
|
||||
[DefaultValue(50)]
|
||||
public int myField;
|
||||
```
|
||||
|
||||
### Enums
|
||||
|
||||
You can also setup enums in the config classes:
|
||||
|
||||
```cs
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public enum MyCoolEnum {
|
||||
[EnumMember(Value = @"value1")]
|
||||
Value1 = 0,
|
||||
[EnumMember(Value = @"value2")]
|
||||
Value2 = 1,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// My enum field
|
||||
/// </summary>
|
||||
public MyCoolEnum enumField;
|
||||
```
|
||||
|
||||
These will automatically be converted from strings to the proper enum type.
|
||||
|
||||
## Contributing to Documentation
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user