Files
HighRollerClassic/HighRollerClassic/SettingsStructure/Settings.cs

35 lines
1.2 KiB
C#

using System.Collections.Generic;
using HighRollerClassic.DataStructures;
namespace HighRollerClassic.SettingsStructure;
public class Settings(Configuration? configuration)
{
/// <summary>
/// Whether developer options should be visible in the settings
/// </summary>
public bool devOptions = false;
/// <summary>
/// Maximum bet that will be allowed to set
/// </summary>
public TrackedValue MaxBet { get; set; } = new(SettingValueType.MaxBet, null, null);
/// <summary>
/// How much the bet will change when user adjusts their bet via +/- keys
/// </summary>
public TrackedValue Step { get; set; } = new(SettingValueType.Step, configuration, null);
/// <summary>
/// Contains messages such as announcements etc.
/// </summary>
// TODO IMPLEMENT
public List<MessageMacro> Macros { get; private set; } = new();
public readonly RollsCollection Rolls = new();
// todo might get fucky wucky if maxbet is not yet defined
public bool IsValid => MaxBet.IsValid && Step.IsValid && Rolls.ValidateAll().valid;
public bool Set => IsValid && Rolls.Rolls.Count > 0 && Macros.Count > 0;
}