summaryrefslogtreecommitdiff
path: root/src/SMAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityInfo.cs
blob: 71c90d0c7451d791368e087305750e07c01d3ff6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
namespace StardewModdingAPI.Toolkit.Framework.Clients.Wiki
{
    /// <summary>Compatibility info for a mod.</summary>
    public class WikiCompatibilityInfo
    {
        /*********
        ** Accessors
        *********/
        /// <summary>The compatibility status.</summary>
        public WikiCompatibilityStatus Status { get; }

        /// <summary>The human-readable summary of the compatibility status or workaround, without HTML formatting.</summary>
        public string? Summary { get; }

        /// <summary>The game or SMAPI version which broke this mod, if applicable.</summary>
        public string? BrokeIn { get; }

        /// <summary>The version of the latest unofficial update, if applicable.</summary>
        public ISemanticVersion? UnofficialVersion { get; }

        /// <summary>The URL to the latest unofficial update, if applicable.</summary>
        public string? UnofficialUrl { get; }


        /*********
        ** Accessors
        *********/
        /// <summary>Construct an instance.</summary>
        /// <param name="status">The compatibility status.</param>
        /// <param name="summary">The human-readable summary of the compatibility status or workaround, without HTML formatting.</param>
        /// <param name="brokeIn">The game or SMAPI version which broke this mod, if applicable.</param>
        /// <param name="unofficialVersion">The version of the latest unofficial update, if applicable.</param>
        /// <param name="unofficialUrl">The URL to the latest unofficial update, if applicable.</param>
        public WikiCompatibilityInfo(WikiCompatibilityStatus status, string? summary, string? brokeIn, ISemanticVersion? unofficialVersion, string? unofficialUrl)
        {
            this.Status = status;
            this.Summary = summary;
            this.BrokeIn = brokeIn;
            this.UnofficialVersion = unofficialVersion;
            this.UnofficialUrl = unofficialUrl;
        }
    }
}