35 lines
1.2 KiB
C#
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;
|
|
}
|