-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.lua
More file actions
80 lines (71 loc) · 1.92 KB
/
Copy pathsettings.lua
File metadata and controls
80 lines (71 loc) · 1.92 KB
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
78
79
80
--[[Settings Module
Manages user-configurable settings and priority overrides]]
config = require('config')
local settings_module = {}
-- Default settings structure
local defaults = {
priority_overrides = {},
silence_bypass = false, -- Skip spells and use items when silenced
display = {
pos = {
x = 100,
y = 100
}
},
display_settings = {
bg = {
alpha = 200,
red = 0,
green = 0,
blue = 0,
visible = true
},
flags = {
draggable = true,
bold = false
},
text = {
size = 12,
font = 'Arial',
alpha = 255,
red = 255,
green = 255,
blue = 255
},
stroke = {
width = 5,
alpha = 255,
red = 0,
green = 0,
blue = 0
}
}
}
-- Load settings from config file
function settings_module.load()
local settings = config.load('data/settings.xml', defaults)
return settings
end
-- Save settings to config file
function settings_module.save(settings)
config.save(settings, 'all')
end
-- Set priority for a specific type
function settings_module.set_priority(type_name, priority)
local settings = settings_module.load()
settings.priority_overrides[type_name] = priority
settings_module.save(settings)
end
-- Reset priority overrides to defaults
function settings_module.reset_priorities()
local settings = settings_module.load()
settings.priority_overrides = {}
settings_module.save(settings)
end
-- Set silence bypass mode
function settings_module.set_silence_bypass(enabled)
local settings = settings_module.load()
settings.silence_bypass = enabled
settings_module.save(settings)
end
return settings_module