Files
AmongUsRevamped/Modules/OptionItem/IntegerOptionItem.cs
T
2025-12-05 22:37:51 +01:00

36 lines
1.3 KiB
C#

// https://github.com/tukasa0001/TownOfHost/blob/main/Modules/OptionItems/IntegerOptionItem.cs
namespace HNSRevamped
{
public class IntegerOptionItem : OptionItem
{
public IntegerValueRule Rule;
public IntegerOptionItem(int id, string name, int defaultValue, TabGroup tab, bool isSingleValue, IntegerValueRule rule)
: base(id, name, rule.GetNearestIndex(defaultValue), tab, isSingleValue)
{
Rule = rule;
}
public static IntegerOptionItem Create(
int id, string name, IntegerValueRule rule, int defaultValue, TabGroup tab, bool isSingleValue
)
{
return new IntegerOptionItem(
id, name, defaultValue, tab, isSingleValue, rule
);
}
public override int GetInt() => Rule.GetValueByIndex(CurrentValue);
public override float GetFloat() => Rule.GetValueByIndex(CurrentValue);
public override string GetString()
{
return ApplyFormat(Rule.GetValueByIndex(CurrentValue).ToString());
}
public override int GetValue()
=> Rule.RepeatIndex(base.GetValue());
public override void SetValue(int value)
{
base.SetValue(Rule.RepeatIndex(value));
}
}
}