diff --git a/HighRollerClassic/DataStructures/SettingValueType.cs b/HighRollerClassic/DataStructures/SettingValueType.cs new file mode 100644 index 0000000..7be4b03 --- /dev/null +++ b/HighRollerClassic/DataStructures/SettingValueType.cs @@ -0,0 +1,6 @@ +namespace HighRollerClassic.DataStructures; + +public enum SettingValueType +{ + +} diff --git a/HighRollerClassic/DataStructures/TrackedValue.cs b/HighRollerClassic/DataStructures/TrackedValue.cs new file mode 100644 index 0000000..be743ae --- /dev/null +++ b/HighRollerClassic/DataStructures/TrackedValue.cs @@ -0,0 +1,22 @@ +using System; + +namespace HighRollerClassic.DataStructures; + +public class TrackedValue +{ + public TValue Value { get; set; } + public bool IsValid { get; set; } + public bool HasChanged { get; set; } + + private const uint MinRoll = 1; + private const uint MaxRoll = 999; + private const uint MaxGil = 999_999_999; + + private Func multiplierRollValid = v => v is >= MinRoll and <= MaxRoll; + private Func maxBetValid = v => v <= MaxGil; + + private static bool StepValid(uint step, uint bet) + { + return step <= bet; + } +} diff --git a/HighRollerClassic/Player.cs b/HighRollerClassic/Player.cs index 8d2a42b..bed535d 100644 --- a/HighRollerClassic/Player.cs +++ b/HighRollerClassic/Player.cs @@ -9,4 +9,6 @@ public class Player(MenuTargetDefault target) public int Bank { get; private set; } = 0; public ulong ContentId { get; private set; } = target.TargetContentId; + + // TODO implement roll history FULL }