Aragas/Bannerlord.MBOptionScreen

View on GitHub
src/MCM.UI/Actions/SetStringAction.cs

Summary

Maintainability
A
0 mins
Test Coverage
using MCM.Common;

namespace MCM.UI.Actions
{
    internal sealed class SetStringAction : IAction
    {
        public IRef Context { get; }
        public object? Value { get; }
        public object? Original { get; }

        public SetStringAction(IRef context, string value)
        {
            Context = context;
            Value = value;
            Original = Context.Value;
        }

        public void DoAction() => Context.Value = Value;
        public void UndoAction() => Context.Value = Original;
    }
}