From d8b728a6b3059aef3da0a0d01d73f0a55692fa87 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Tue, 12 Oct 2021 13:49:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=86=E6=9E=B6=E6=B7=BB=E5=8A=A0setOnFnKeys?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=85=81=E8=AE=B8=E9=87=8D=E5=AE=9A=E4=B9=89?= =?UTF-8?q?devmode=E4=B8=8B=E5=8A=9F=E8=83=BD=E9=94=AE=E7=9A=84=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=88=E4=BB=85=E9=99=90F1~F7=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Zframework/init.lua | 52 +++++++++++++++++---------------------------- main.lua | 19 +++++++++++++++++ 2 files changed, 39 insertions(+), 32 deletions(-) diff --git a/Zframework/init.lua b/Zframework/init.lua index 743f0120..24269f17 100644 --- a/Zframework/init.lua +++ b/Zframework/init.lua @@ -218,39 +218,20 @@ function love.touchreleased(id,x,y) end end +local fnKey={NULL,NULL,NULL,NULL} local function noDevkeyPressed(key) - if key=="f1"then - MES.new('check',PROFILE.switch()and"profile start!"or"profile report copied!") - elseif key=="f2"then - MES.new('info',("System:%s[%s]\nluaVer:%s\njitVer:%s\njitVerNum:%s"):format(SYSTEM,jit.arch,_VERSION,jit.version,jit.version_num)) - elseif key=="f3"then - MES.new('error',"挂了") - elseif key=="f4"then - if GAME.playing and not GAME.net then - for _=1,8 do - local P=PLY_ALIVE[math.random(#PLY_ALIVE)] - if P and P~=PLAYERS[1]then - P.lastRecv=PLAYERS[1] - P:lose() - end - end - end - elseif key=="f5"then - print(WIDGET.getSelected()or"no widget selected") - elseif key=="f6"then - for k,v in next,_G do print(k,v)end - elseif key=="f7"and love["_openConsole"]then - love["_openConsole"]() - elseif key=="f8"then - devMode=nil MES.new('info',"DEBUG OFF",.2) - elseif key=="f9"then - devMode=1 MES.new('info',"DEBUG 1") - elseif key=="f10"then - devMode=2 MES.new('info',"DEBUG 2") - elseif key=="f11"then - devMode=3 MES.new('info',"DEBUG 3") - elseif key=="f12"then - devMode=4 MES.new('info',"DEBUG 4") + if key=="f1"then fnKey[1]() + elseif key=="f2"then fnKey[2]() + elseif key=="f3"then fnKey[3]() + elseif key=="f4"then fnKey[4]() + elseif key=="f5"then fnKey[5]() + elseif key=="f6"then fnKey[6]() + elseif key=="f7"then fnKey[7]() + elseif key=="f8"then devMode=nil MES.new('info',"DEBUG OFF",.2) + elseif key=="f9"then devMode=1 MES.new('info',"DEBUG 1") + elseif key=="f10"then devMode=2 MES.new('info',"DEBUG 2") + elseif key=="f11"then devMode=3 MES.new('info',"DEBUG 3") + elseif key=="f12"then devMode=4 MES.new('info',"DEBUG 4") elseif devMode==2 then local W=WIDGET.sel if W then @@ -757,5 +738,12 @@ function Z.setIfPowerInfo(func)showPowerInfo=func end --Warning: color and line width is uncertain value, set it in the function. function Z.setCursor(func)drawCursor=func end +--Change F1~F7 events of devmode (F8 mode) +function Z.setOnFnKeys(list) + for i=1,7 do + fnKey[i]=type(list[i])=='function'and list[i]or NULL + end +end + function Z.setOnQuit(func)onQuit=type(func)=='function'and func or NULL end return Z diff --git a/main.lua b/main.lua index 07dc1d6e..569d0dab 100644 --- a/main.lua +++ b/main.lua @@ -121,6 +121,25 @@ end Z.setIfPowerInfo(function() return SETTING.powerInfo and LOADED end) +Z.setOnFnKeys({ + function()MES.new('check',PROFILE.switch()and"profile start!"or"profile report copied!")end, + function()MES.new('info',("System:%s[%s]\nluaVer:%s\njitVer:%s\njitVerNum:%s"):format(SYSTEM,jit.arch,_VERSION,jit.version,jit.version_num))end, + function()MES.new('error',"挂了")end, + function() + if GAME.playing and not GAME.net then + for _=1,8 do + local P=PLY_ALIVE[math.random(#PLY_ALIVE)] + if P and P~=PLAYERS[1]then + P.lastRecv=PLAYERS[1] + P:lose() + end + end + end + end, + function()print(WIDGET.getSelected()or"no widget selected")end, + function()for k,v in next,_G do print(k,v)end end, + function()if love["_openConsole"]then love["_openConsole"]()end end, +}) Z.setOnQuit(destroyPlayers) --Load settings and statistics