diff options
author | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2021-01-03 14:31:27 -0500 |
---|---|---|
committer | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2021-01-03 14:31:27 -0500 |
commit | 04c6733adae9ce568aefb5d9dee6101097e994c5 (patch) | |
tree | c93f0650f6f79a95016c29526f8af437ad91a815 /src/SMAPI.Toolkit | |
parent | 48bb1581a6adeabfefbdd774011796e09a07aae2 (diff) | |
parent | 2b3f0506a16622b25a702aae250e10005287c4f4 (diff) | |
download | SMAPI-04c6733adae9ce568aefb5d9dee6101097e994c5.tar.gz SMAPI-04c6733adae9ce568aefb5d9dee6101097e994c5.tar.bz2 SMAPI-04c6733adae9ce568aefb5d9dee6101097e994c5.zip |
Merge branch 'develop' into stable
Diffstat (limited to 'src/SMAPI.Toolkit')
5 files changed, 19 insertions, 1 deletions
diff --git a/src/SMAPI.Toolkit/Framework/ModData/ModDataField.cs b/src/SMAPI.Toolkit/Framework/ModData/ModDataField.cs index b3954693..44422f01 100644 --- a/src/SMAPI.Toolkit/Framework/ModData/ModDataField.cs +++ b/src/SMAPI.Toolkit/Framework/ModData/ModDataField.cs @@ -71,6 +71,7 @@ namespace StardewModdingAPI.Toolkit.Framework.ModData // non-manifest fields case ModDataFieldKey.AlternativeUrl: case ModDataFieldKey.StatusReasonPhrase: + case ModDataFieldKey.StatusReasonDetails: case ModDataFieldKey.Status: return false; diff --git a/src/SMAPI.Toolkit/Framework/ModData/ModDataFieldKey.cs b/src/SMAPI.Toolkit/Framework/ModData/ModDataFieldKey.cs index 09dd0cc5..068291aa 100644 --- a/src/SMAPI.Toolkit/Framework/ModData/ModDataFieldKey.cs +++ b/src/SMAPI.Toolkit/Framework/ModData/ModDataFieldKey.cs @@ -13,6 +13,9 @@ namespace StardewModdingAPI.Toolkit.Framework.ModData Status, /// <summary>A reason phrase for the <see cref="Status"/>, or <c>null</c> to use the default reason.</summary> - StatusReasonPhrase + StatusReasonPhrase, + + /// <summary>Technical details shown in TRACE logs for the <see cref="Status"/>, or <c>null</c> to omit it.</summary> + StatusReasonDetails } } diff --git a/src/SMAPI.Toolkit/Framework/ModData/ModDataRecord.cs b/src/SMAPI.Toolkit/Framework/ModData/ModDataRecord.cs index 3201c421..f28f6afe 100644 --- a/src/SMAPI.Toolkit/Framework/ModData/ModDataRecord.cs +++ b/src/SMAPI.Toolkit/Framework/ModData/ModDataRecord.cs @@ -107,6 +107,11 @@ namespace StardewModdingAPI.Toolkit.Framework.ModData case ModDataFieldKey.StatusReasonPhrase: parsed.StatusReasonPhrase = field.Value; break; + + // status technical reason + case ModDataFieldKey.StatusReasonDetails: + parsed.StatusReasonDetails = field.Value; + break; } } diff --git a/src/SMAPI.Toolkit/Framework/ModData/ModDataRecordVersionedFields.cs b/src/SMAPI.Toolkit/Framework/ModData/ModDataRecordVersionedFields.cs index 598da66a..f0282eb4 100644 --- a/src/SMAPI.Toolkit/Framework/ModData/ModDataRecordVersionedFields.cs +++ b/src/SMAPI.Toolkit/Framework/ModData/ModDataRecordVersionedFields.cs @@ -24,6 +24,9 @@ namespace StardewModdingAPI.Toolkit.Framework.ModData /// <summary>A reason phrase for the <see cref="Status"/>, or <c>null</c> to use the default reason.</summary> public string StatusReasonPhrase { get; set; } + /// <summary>Technical details shown in TRACE logs for the <see cref="Status"/>, or <c>null</c> to omit it.</summary> + public string StatusReasonDetails { get; set; } + /// <summary>The upper version for which the <see cref="Status"/> applies (if any).</summary> public ISemanticVersion StatusUpperVersion { get; set; } } diff --git a/src/SMAPI.Toolkit/Serialization/JsonHelper.cs b/src/SMAPI.Toolkit/Serialization/JsonHelper.cs index 031afbb0..00db9903 100644 --- a/src/SMAPI.Toolkit/Serialization/JsonHelper.cs +++ b/src/SMAPI.Toolkit/Serialization/JsonHelper.cs @@ -132,5 +132,11 @@ namespace StardewModdingAPI.Toolkit.Serialization { return JsonConvert.SerializeObject(model, formatting, this.JsonSettings); } + + /// <summary>Get a low-level JSON serializer matching the <see cref="JsonSettings"/>.</summary> + public JsonSerializer GetSerializer() + { + return JsonSerializer.CreateDefault(this.JsonSettings); + } } } |