-
Notifications
You must be signed in to change notification settings - Fork 8
/
ReAgentSettings.cs
77 lines (60 loc) · 2.08 KB
/
ReAgentSettings.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using System.Collections.Generic;
using ExileCore.Shared.Attributes;
using ExileCore.Shared.Interfaces;
using ExileCore.Shared.Nodes;
using Newtonsoft.Json;
namespace ReAgent;
public sealed class ReAgentSettings : ISettings
{
public ReAgentSettings()
{
PluginSettings = new PluginSettings();
}
public readonly Dictionary<string, Profile> Profiles = new();
public string CurrentProfile = string.Empty;
public ToggleNode ShowDebugWindow { get; set; } = new(false);
[JsonIgnore]
public ButtonNode DumpState { get; set; } = new();
[IgnoreMenu]
public RangeNode<int> GlobalKeyPressCooldown { get; set; } = new(200, 0, 1000);
[IgnoreMenu]
public RangeNode<int> MaximumMonsterRange { get; set; } = new(200, 0, 500);
[IgnoreMenu]
public RangeNode<int> HistorySecondsToKeep { get; set; } = new(60, 0, 600);
public TextNode ImageDirectory { get; set; } = new("textures/ReAgent");
private PluginSettings _pluginSettings;
public PluginSettings PluginSettings
{
get => _pluginSettings;
set
{
value.Parent = this;
_pluginSettings = value;
}
}
public ToggleNode Enable { get; set; } = new(true);
}
[Submenu(CollapsedByDefault = true)]
public class PluginSettings
{
internal ReAgentSettings Parent;
public RangeNode<int> GlobalKeyPressCooldown
{
get => Parent.GlobalKeyPressCooldown;
set => Parent.GlobalKeyPressCooldown = value;
}
public RangeNode<int> MaximumMonsterRange
{
get => Parent.MaximumMonsterRange;
set => Parent.MaximumMonsterRange = value;
}
public RangeNode<int> HistorySecondsToKeep
{
get => Parent.HistorySecondsToKeep;
set => Parent.HistorySecondsToKeep = value;
}
public ToggleNode KeepEnableTogglesOnASingleLine { get; set; } = new(true);
public ToggleNode ColorEnableToggles { get; set; } = new(true);
public ToggleNode EnableVerticalGroupTabs { get; set; } = new(true);
public RangeNode<int> VerticalTabContainerWidth { get; set; } = new(150, 0, 1000);
}