-
Notifications
You must be signed in to change notification settings - Fork 2
/
settings.lua
49 lines (38 loc) · 914 Bytes
/
settings.lua
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
module(..., package.seeall)
function settings.set(key, value)
_G.__settings[key] = value
settings.save()
end
function settings.get(key)
if _G.__settings then
return _G.__settings[key]
else
return nil
end
end
function settings.save()
local path = system.pathForFile("settings.json", system.DocumentsDirectory)
local fh = io.open(path, "w")
fh:write(json.encode(_G.__settings))
fh:close()
end
function settings.load()
local path = system.pathForFile("settings.json", system.DocumentsDirectory)
local fh, reason = io.open(path, "r")
if fh then
-- read all contents of file into a string
local contents = fh:read("*a")
local succ, data = pcall(function()
return json.decode(contents)
end)
if succ then
_G.__settings = data
else
_G.__settings = {}
end
print("Loaded settings")
else
print("Coulnd't load settings: " .. reason)
_G.__settings = {}
end
end