New settings handling

This commit is contained in:
amevarashi 2023-03-24 20:22:54 +05:00
parent fed4b54915
commit 8d49addd63
24 changed files with 309 additions and 233 deletions

View file

@ -0,0 +1,39 @@
using System.Collections.Generic;
using Verse;
namespace RJWSexperience.Settings
{
public class SettingsContainer : IExposable
{
public List<ISettingHandle> Handles { get; }
public SettingsContainer(List<ISettingHandle> handles)
{
Handles = handles;
}
public void ExposeData()
{
foreach (ISettingHandle setting in Handles)
{
setting.Scribe();
}
}
public static SettingsContainer CreateHistoryContainer(Configurations settings) => new SettingsContainer(new List<ISettingHandle> {
settings.EnableRecordRandomizer,
settings.MaxLustDeviation,
settings.AvgLust,
settings.MaxSexCountDeviation,
settings.SexPerYear,
settings.MinSexableFromLifestage,
settings.MinSexablePercent,
settings.VirginRatio,
settings.SlavesBeenRapedExp,
settings.EnableSexHistory,
settings.HideGizmoWhenDrafted,
settings.HideGizmoWithRJW
}
);
}
}