summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/Content/AssetOperationGroup.cs
blob: e3c3f92c343affe845a2f66922f56dff5c20979b (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
#nullable disable

namespace StardewModdingAPI.Framework.Content
{
    /// <summary>A set of operations to apply to an asset for a given <see cref="IAssetEditor"/> or <see cref="IAssetLoader"/> implementation.</summary>
    internal class AssetOperationGroup
    {
        /*********
        ** Accessors
        *********/
        /// <summary>The mod applying the changes.</summary>
        public IModMetadata Mod { get; }

        /// <summary>The load operations to apply.</summary>
        public AssetLoadOperation[] LoadOperations { get; }

        /// <summary>The edit operations to apply.</summary>
        public AssetEditOperation[] EditOperations { get; }


        /*********
        ** Public methods
        *********/
        /// <summary>Construct an instance.</summary>
        /// <param name="mod">The mod applying the changes.</param>
        /// <param name="loadOperations">The load operations to apply.</param>
        /// <param name="editOperations">The edit operations to apply.</param>
        public AssetOperationGroup(IModMetadata mod, AssetLoadOperation[] loadOperations, AssetEditOperation[] editOperations)
        {
            this.Mod = mod;
            this.LoadOperations = loadOperations;
            this.EditOperations = editOperations;
        }
    }
}