简单封装保存统计、进度、设置的三个函数方便阅读代码

f11开关全屏时会自动保存设置
close #230
This commit is contained in:
MrZ626
2021-08-24 18:29:45 +08:00
parent aab45b1b14
commit 754545cc40
11 changed files with 36 additions and 35 deletions

View File

@@ -287,11 +287,8 @@ function love.keypressed(key,_,isRep)
devMode=1
MES.new('info',"DEBUG ON",.2)
elseif key=="f11"then
if kb.isDown("lctrl","rctrl")then
_G['\100\114\97\119\70\87\77']=NULL
else
switchFullscreen()
end
switchFullscreen()
saveSettings()
elseif not SCN.swapping then
if SCN.keyDown then
if EDITING==""then

View File

@@ -354,9 +354,9 @@ do
end
if needSave then
FILE.save(SETTING,'conf/settings')
FILE.save(RANKS,'conf/unlock')
FILE.save(STAT,'conf/data')
saveStats()
saveProgress()
saveSettings()
end
end

View File

@@ -12,6 +12,15 @@ local SETTING,GAME,SCR=SETTING,GAME,SCR
--System
function saveStats()
FILE.save(STAT,'conf/data')
end
function saveProgress()
FILE.save(RANKS,'conf/unlock')
end
function saveSettings()
FILE.save(SETTING,'conf/settings')
end
function applySettings()
love.window.setFullscreen(SETTING.fullscreen)
LANG.set(SETTING.lang)
@@ -304,7 +313,7 @@ function gameOver()--Save record
end
end
if needSave then
FILE.save(RANKS,'conf/unlock')
saveProgress()
end
end
local D=M.score(P)
@@ -340,7 +349,7 @@ function trySave()
STAT.game=STAT.game+1
mergeStat(STAT,PLAYERS[1].stat)
STAT.todayTime=STAT.todayTime+PLAYERS[1].stat.time
FILE.save(STAT,'conf/data')
saveStats()
end
end
do--function freshPlayerPosition(sudden)

View File

@@ -262,14 +262,14 @@ function NET.loadSavedData(sections)
if STAT.version==NET.cloudData.STAT.version then
local success=true
TABLE.update(NET.cloudData.STAT,STAT)
success=success and FILE.save(STAT,'conf/data')
success=success and saveStats()
TABLE.update(NET.cloudData.RANKS,RANKS)
success=success and FILE.save(RANKS,'conf/unlock')
success=success and saveProgress()
TABLE.update(NET.cloudData.SETTING,SETTING)
applySettings()
success=success and FILE.save(SETTING,'conf/settings')
success=success and saveSettings()
TABLE.update(NET.cloudData.keyMap,keyMap)
success=success and FILE.save(keyMap,'conf/key')

View File

@@ -656,9 +656,8 @@ local commands={}do
if #key>0 then
if SETTING[key]~=nil then
SETTING[key]=nil
if FILE.save(SETTING,'conf/settings')then
log{C.Y,("Succesfully erased key '%s'"):format(key)}
end
saveSettings()
log{C.Y,("Succesfully erased key '%s'"):format(key)}
else
log{C.R,"No key called "..key}
end
@@ -683,7 +682,7 @@ local commands={}do
if M.x then RANKS[name]=0 end
end
end
FILE.save(RANKS,'conf/unlock')
saveProgress()
log{C.lC,"\85\78\76\79\67\75\65\76\76"}
SFX.play('clear_2')
else
@@ -719,7 +718,7 @@ local commands={}do
code=function(bool)
if bool=="on"or bool=="off"then
SETTING.allowTAS=bool=="on"
FILE.save(SETTING,'conf/settings')
saveSettings()
log("Allow TAS: "..bool)
if bool then
log("Hot keys: f1=play/pause f2=slowdown f3=speedup/nextframe")

View File

@@ -12,7 +12,7 @@ local langList={
local scene={}
function scene.sceneBack()
FILE.save(SETTING,'conf/settings')
saveSettings()
end
local function _setLang(n)

View File

@@ -116,7 +116,7 @@ local loadingThread=coroutine.wrap(function()
end
end
if editFlag then
FILE.save(RANKS,'conf/unlock')
saveProgress()
end
YIELD('loadOther')

View File

@@ -37,9 +37,8 @@ scene.widgetList={
RANKS[k]=nil
end
end
if FILE.save(RANKS,'conf/unlock')then
MES.new('check',text.importSuccess)
end
saveProgress()
MES.new('check',text.importSuccess)
else
MES.new('error',text.dataCorrupted)
end
@@ -49,9 +48,8 @@ scene.widgetList={
local D=parseCB()
if D and D.version==STAT.version then
TABLE.update(D,STAT)
if FILE.save(STAT,'conf/data')then
MES.new('check',text.importSuccess)
end
saveStats()
MES.new('check',text.importSuccess)
else
MES.new('error',text.dataCorrupted)
end
@@ -62,9 +60,8 @@ scene.widgetList={
if D then
TABLE.update(D,SETTING)
applySettings()
if FILE.save(SETTING,'conf/settings')then
MES.new('check',text.importSuccess)
end
saveSettings()
MES.new('check',text.importSuccess)
else
MES.new('error',text.dataCorrupted)
end
@@ -74,9 +71,8 @@ scene.widgetList={
local D=parseCB()
if D then
TABLE.update(D,VK_org)
if FILE.save(VK_org,'conf/virtualkey')then
MES.new('check',text.importSuccess)
end
FILE.save(VK_org,'conf/virtualkey')
MES.new('check',text.importSuccess)
else
MES.new('error',text.dataCorrupted)
end

View File

@@ -6,7 +6,7 @@ function scene.sceneInit()
BG.set()
end
function scene.sceneBack()
FILE.save(SETTING,'conf/settings')
saveSettings()
end
function scene.draw()

View File

@@ -17,7 +17,7 @@ function scene.sceneInit()
BG.set()
end
function scene.sceneBack()
FILE.save(SETTING,'conf/settings')
saveSettings()
end
function scene.mouseDown(x,y)

View File

@@ -3,7 +3,7 @@ local gc=love.graphics
local scene={}
function scene.sceneBack()
FILE.save(SETTING,'conf/settings')
saveSettings()
end
local fakeBlock={{true}}